diff --git a/.github/actions/go-test-setup/action.yml b/.github/actions/go-test-setup/action.yml new file mode 100644 index 0000000..54a5152 --- /dev/null +++ b/.github/actions/go-test-setup/action.yml @@ -0,0 +1,24 @@ +name: Go Test Setup +description: Set up the environment for go test +runs: + using: "composite" + steps: + - name: Common setup + shell: bash + run: | + echo 'CGO_ENABLED=1' >> $GITHUB_ENV + - name: Windows setup + shell: bash + if: ${{ runner.os == 'Windows' }} + run: | + echo '/c/msys64/mingw64/bin' >> $GITHUB_PATH + echo 'PATH_386=/c/msys64/mingw32/bin:${{ env.PATH_386 }}' >> $GITHUB_ENV + - name: Linux setup + shell: bash + if: ${{ runner.os == 'Linux' }} + run: | + sudo apt-get install gcc-multilib + sudo dpkg --add-architecture i386 + sudo apt-get update + sudo apt-get install libssl-dev:i386 + echo 'CC_FOR_linux_386=i686-w64-mingw32-gcc' diff --git a/.github/workflows/go-test.yml b/.github/workflows/go-test.yml index 606e0c7..5f77540 100644 --- a/.github/workflows/go-test.yml +++ b/.github/workflows/go-test.yml @@ -13,8 +13,8 @@ jobs: go: [ "1.16.x", "1.17.x" ] env: COVERAGES: "" - runs-on: ${{ matrix.os }}-latest - name: ${{ matrix.os}} (go ${{ matrix.go }}) + runs-on: ${{ format('{0}-latest', matrix.os) }} + name: ${{ matrix.os }} (go ${{ matrix.go }}) steps: - uses: actions/checkout@v2 with: @@ -50,7 +50,9 @@ jobs: env: GOARCH: 386 with: - run: go test -v ./... + run: | + export "PATH=${{ env.PATH_386 }}:$PATH" + go test -v ./... - name: Run tests with race detector if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow uses: protocol/multiple-go-modules@v1.2