name: Build test on: [pull_request, push] jobs: build-test: name: Build test runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] go-version: [1.15.x, 1.16.x, 1.17.x] steps: - name: Checkout code uses: actions/checkout@v2 - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Run go vet run: go vet - name: Test run: go test -v -race -coverprofile=coverage.out -covermode=atomic -failfast