godog/.github/workflows/test.yml
Carl Menezes c95871f3ce
Switch from golint to staticcheck (#457)
* Switch from golint to staticcheck

* Remove unused function

run_test.go:618:6: func passingStepDefWithoutReturn is unused (U1000)

* Remove unused function

suite.go:421:6: func isEmptyFeature is unused (U1000)

* Fix unnecessary use of fmt.Sprintf

test_context_test.go:45:66: unnecessary use of fmt.Sprintf (S1039)
test_context_test.go:46:61: unnecessary use of fmt.Sprintf (S1039)

* Fix CI error

https://github.com/cucumber/godog/runs/5146601108?check_suite_focus=true#step:7:28

* Change CI to run staticcheck instead of golint

* Use staticcheck that definitely pass

* Fix CI staticcheck error

https://github.com/cucumber/godog/runs/5147133955?check_suite_focus=true#step:6:17

* Only run staticcheck for Go 1.17

Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>

* Add staticcheck linux binary

* Update Go module dependencies in _examples

* Use static check binary in bin for CI

* Reduce number of dependencies

Also add a note to CONTRIBUTING.md about the _examples module

* Pin the version of staticcheck

Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>

Co-authored-by: Matt Wynne <matt@cucumber.io>
Co-authored-by: Viacheslav Poturaev <nanopeni@gmail.com>
2022-02-15 13:37:27 -08:00

55 строки
1,7 КиБ
YAML

name: test
on:
push:
branches:
- main
pull_request:
jobs:
test:
strategy:
matrix:
go-version: [ 1.16.x, 1.17.x ]
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}
- name: Checkout code
uses: actions/checkout@v2
- name: Go cache
uses: actions/cache@v2
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-go-cache-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-cache
- name: Run gofmt
run: gofmt -d -e . 2>&1 | tee outfile && test -z "$(cat outfile)" && rm outfile
- name: Run staticcheck
if: matrix.go-version == '1.17.x'
run: |
bin/staticcheck_linux_amd64_2021.1.2 github.com/cucumber/godog
bin/staticcheck_linux_amd64_2021.1.2 github.com/cucumber/godog/cmd/godog
# Disable for now because of failing checks
# TODO: Add back in when fixes are made
# bin/staticcheck_linux_amd64_2021.1.2 ./...
- name: Run go vet
run: |
go vet ./...
cd _examples && go vet ./... && cd ..
- name: Run go test
run: |
go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
cd _examples && go test -v -race ./... && cd ..
- name: Run godog
run: |
go install ./cmd/godog
godog -f progress --strict
- name: Report on code coverage
if: matrix.go-version == '1.17.x'
uses: codecov/codecov-action@v1
with:
file: ./coverage.txt