name: Tests on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build-linux: runs-on: ubuntu-latest strategy: fail-fast: false matrix: go: ['1.25', '1.24', '1.23', '1.20'] name: Go ${{ matrix.go }} on Linux steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - name: Build and Test run: | gawk --version go test -race ./... build-linux-386: runs-on: ubuntu-latest strategy: fail-fast: false matrix: go: ['1.25'] name: Go ${{ matrix.go }} on Linux 386 steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - name: Build and Test run: | gawk --version GOARCH=386 go test ./... build-windows: runs-on: windows-latest strategy: fail-fast: false matrix: go: ['1.25', '1.20'] name: Go ${{ matrix.go }} on Windows steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - name: Install Gawk run: choco install gawk - name: Build and Test run: | gawk --version go test -race ./... build-macos: runs-on: macos-latest strategy: fail-fast: false matrix: go: ['1.25', '1.20'] name: Go ${{ matrix.go }} on macOS steps: - uses: actions/checkout@v2 - name: Set up Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go }} - name: Install Gawk run: brew install gawk - name: Build and Test run: | gawk --version export MallocNanoZone=0 # Fix SIGABRT with -race on macOS: https://github.com/golang/go/issues/49138 go test -race ./...