on: [push, pull_request] name: Test jobs: test: strategy: matrix: go-version: [1.20.x, 1.21.x] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - uses: actions/checkout@v3 - run: go test ./... - run: go test -race ./... # Static checks from this point forward. Only run on one Go version and on # Linux, since it's the fastest platform, and the tools behave the same. - if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.21.x' run: diff <(echo -n) <(gofmt -s -d .) - if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.21.x' run: go vet ./...