Conversation
Semver Impact of This PR🟢 Patch (bug fixes) 📋 Changelog PreviewThis is how your changes will appear in the changelog. Breaking Changes 🛠
Internal Changes 🔧Deps
Other
🤖 This preview updates automatically when you update the PR. |
70c0911 to
46f8152
Compare
| run: make build | ||
| - name: Vet | ||
| run: make vet | ||
| - name: Test${{ env.RUN_RACE_TESTS == 'true' && ' (with race detection)' || '' }} |
There was a problem hiding this comment.
I guess the test step implies make build?
There was a problem hiding this comment.
we should actually keep build, for the slim case that we conditionally build a package (eg. //go:buildl !test)
6becd3c to
816ad4a
Compare
| restore-keys: | | ||
| ${{ runner.os }}-go-${{ matrix.go }}- | ||
| cache-dependency-path: '**/go.sum' | ||
| - name: Tidy |
There was a problem hiding this comment.
Bug: The go test ... -coverprofile work command may fail when run against a workspace with multiple modules, potentially breaking the coverage reporting step in CI.
Severity: MEDIUM
Suggested Fix
To guarantee that coverage is generated correctly, modify the test script to iterate through each module listed in the go.work file. Run go test with the -coverprofile flag for each module individually, generating separate coverage files. Afterwards, use a tool or a script to merge these individual coverage files into a single profile before the upload step.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: .github/workflows/test.yml#L48
Potential issue: The CI workflow is configured to run `go test -coverprofile=... work`
to generate a unified code coverage report for a Go workspace containing 14 modules.
There is conflicting information on whether Go's tooling (specifically versions 1.25 and
1.26 used in the CI) supports the `-coverprofile` flag when testing multiple modules
simultaneously via the `work` keyword. If this operation is not supported, the test step
will fail for the `ubuntu` / `go 1.26` job, which is the only job responsible for
uploading coverage reports. This would cause the CI to either error out or silently fail
to produce coverage metrics.
Did we get this right? 👍 / 👎 to inform future reviews.
Description
This PR changes the ci pipeline to report codecov coverage only once, using the simplified makefile and also uses the native
setup-gocache instead of a second dependency to improve ci speed.Issues
Changelog Entry Instructions
To add a custom changelog entry, uncomment the section above. Supports:
For more details: custom changelog entries
Reminders
feat:,fix:,ref:,meta:)