diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 954acc7..f5ea97d 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -15,7 +15,7 @@ jobs: - name: Check out source uses: actions/checkout@v2 - name: Install Linters - run: "curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.27.0" + run: "curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.28.0" - name: Build env: GO111MODULE: "on" diff --git a/run_tests.sh b/run_tests.sh index ce36bfb..7ed6c27 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -7,14 +7,28 @@ set -ex go version +# run `go mod download` and `go mod tidy` and fail if the git status of +# go.mod and/or go.sum changes +MOD_STATUS=$(git status --porcelain go.mod go.sum) +go mod download +go mod tidy +UPDATED_MOD_STATUS=$(git status --porcelain go.mod go.sum) +if [ "$UPDATED_MOD_STATUS" != "$MOD_STATUS" ]; then + echo "Running `go mod tidy` modified go.mod and/or go.sum" + exit 1 +fi + +# run tests env GORACE="halt_on_error=1" go test -race ./... +# set output format for linter if [[ -v CI ]]; then OUT_FORMAT="github-actions" else OUT_FORMAT="colored-line-number" fi +# run linter golangci-lint run --disable-all --deadline=10m \ --out-format=$OUT_FORMAT \ --enable=gofmt \