github.com/google/go-github/v33@v33.0.0/.github/workflows/tests.yml (about) 1 on: [push, pull_request] 2 name: tests 3 env: 4 GO111MODULE: on 5 6 jobs: 7 test: 8 strategy: 9 matrix: 10 go-version: [1.x, 1.14.x] 11 platform: [ubuntu-latest, windows-latest] 12 runs-on: ${{ matrix.platform }} 13 14 steps: 15 - uses: actions/setup-go@v1 16 with: 17 go-version: ${{ matrix.go-version }} 18 - uses: actions/checkout@v2 19 20 - name: Cache go modules 21 uses: actions/cache@v1 22 with: 23 path: ~/go/pkg/mod 24 key: ${{ runner.os }}-go-${{ hashFiles('go.sum') }} 25 restore-keys: ${{ runner.os }}-go- 26 27 - name: Run go fmt 28 if: runner.os != 'Windows' 29 run: diff -u <(echo -n) <(gofmt -d -s .) 30 31 - name: Ensure go generate produces a zero diff 32 shell: bash 33 run: go generate -x ./... && git diff --exit-code; code=$?; git checkout -- .; (exit $code) 34 35 - name: Run go vet 36 run: go vet ./... 37 38 - name: Run go test 39 run: go test -v -race -coverprofile coverage.txt -covermode atomic ./... 40 41 - name: Ensure integration tests build 42 # don't actually run tests since they hit live GitHub API 43 run: go test -v -tags=integration -run=^$ ./test/integration 44 45 - name: Run scrape tests 46 run: | 47 cd scrape 48 go test ./... 49 50 - name: Upload coverage to Codecov 51 uses: codecov/codecov-action@v1 52 with: 53 token: ${{ secrets.CODECOV_TOKEN }}