name: Test on: push: branches: - master pull_request: jobs: test: strategy: matrix: go-version: [1.16.x, 1.17.x, 1.18.x, 1.19.x] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v3 with: go-version: ${{ matrix.go-version }} - name: Get Go cache paths id: go-env run: | echo "::set-output name=cache::$(go env GOCACHE)" echo "::set-output name=modcache::$(go env GOMODCACHE)" - name: Set up Go cache uses: actions/cache@v3 with: key: golangci-lint-${{ runner.os }}-go-${{ hashFiles('go.mod') }} restore-keys: golangci-lint-${{ runner.os }}-go- path: | ${{ steps.go-env.outputs.cache }} ${{ steps.go-env.outputs.modcache }} - run: go version - run: go test ./... - run: go test -race ./...