ci: test on the latest stable Go alongside go.mod's minimum - #404
Merged
Merged
Conversation
Every CI job installed exactly go.mod's minimum Go version, so nothing built or tested this module on the newest Go release, the one most consumers use. A new test-latest-go job runs go vet and the race-enabled test suite on the latest stable Go, with GOTOOLCHAIN=local so the version under test is the one installed. The existing jobs stay on the minimum. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Every CI job installs exactly
go.mod's minimum Go version (currently 1.26.6) viago-version-file. So nothing builds or tests this module on the newest Go release (currently 1.27.1), the one most consumers are on.govulncheckalready scans under the latest Go, but it doesn't run tests.test-latest-gojob:go vet ./...andgo test -race ./...onsetup-go'sstablewithcheck-latest.GOTOOLCHAIN=localstops the go command from switching toolchains, so the version under test is exactly the one installed. The job logsgo version.test,lint, conformance and fuzz jobs stay on the minimum, which keeps that minimum honest. Coverage and SonarQube aren't duplicated.No change to
go.mod: Go 1.26.7 and 1.26.8 are bug-fix-only releases, andgovulncheckunder 1.26.6 is clean. Raising the minimum would force consumers up with no security reason.Suggested follow-up: leave the new check non-required for a few runs, then add it to branch protection's required checks.
Testing
go vet ./...andgo test -race ./...under Go 1.27.1 withGOTOOLCHAIN=localpass locally. The workflow YAML parses.🤖 Generated with Claude Code
https://claude.ai/code/session_01GMAyPYDPGpfnwow3JLeooZ