From 76e903cf9db33f3f3965596896f47c1186496c4d Mon Sep 17 00:00:00 2001 From: Blake Mizerany Date: Wed, 26 Feb 2025 23:03:48 -0800 Subject: [PATCH] .github/workflows: swap order of go test and golangci-lint (#9389) The linter is secondary to the tests, so it should run after the tests, exposing test failures faster. --- .github/workflows/test.yaml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 479a9bb8..e7e47c96 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -190,28 +190,27 @@ jobs: go-version-file: go.mod - # TODO(bmizerany): replace this heavy tool with just the - # tools/checks/binaries we want and then make them all run in parallel - # across jobs, not on a single tiny vm on Github Actions. - - uses: golangci/golangci-lint-action@v6 - with: - args: --timeout 10m0s -v - - - name: go test - # Do not skip tests in the face of linter errors, or 'go mod tidy' - # checks, which are secondary to the tests. Tests trump linters. - if: always() - run: go test -count=1 -benchtime=1x ./... - # It is tempting to run this in a platform independent way, but the past # shows this codebase will see introductions of platform specific code # generation, and so we need to check this per platform to ensure we # don't abuse go generate on specific platforms. - name: check that 'go generate' is clean + if: always() run: | go generate ./... git diff --name-only --exit-code || (echo "Please run 'go generate ./...'." && exit 1) + - name: go test + if: always() + run: go test -count=1 -benchtime=1x ./... + + # TODO(bmizerany): replace this heavy tool with just the + # tools/checks/binaries we want and then make them all run in parallel + # across jobs, not on a single tiny vm on Github Actions. + - uses: golangci/golangci-lint-action@v6 + with: + args: --timeout 10m0s -v + - name: cache save # Always save the cache, even if the job fails. The artifacts produced # during the building of test binaries are not all for naught. They can