Keep go.mod at minimum supported Go version, test CI against min and latest#14
Open
prasanna-anchorage wants to merge 1 commit into
Open
Keep go.mod at minimum supported Go version, test CI against min and latest#14prasanna-anchorage wants to merge 1 commit into
prasanna-anchorage wants to merge 1 commit into
Conversation
…latest The go directive only needs to reflect the actual floor required by the module and its dependencies (urfave/cli/v3 requires go1.22; nothing in this codebase uses newer language features), not the latest toolchain. Setting it higher forces every downstream consumer to upgrade for no reason. CI now runs a matrix across the declared minimum (1.22) and latest (1.26) so both are verified; lint only runs once, on latest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the module’s declared Go language version to the minimum actually required by dependencies, and adjusts CI to validate the project against both the minimum and a latest Go toolchain.
Changes:
- Lower
go.modgodirective from1.25.0to1.22. - Add a Go version matrix to CI to run checks/tests on Go
1.22and1.26. - Run
golangci-lintonly on the latest Go leg to avoid duplicated lint work.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| go.mod | Sets the module go directive to the minimum supported Go version (1.22). |
| .github/workflows/ci.yml | Adds a Go version matrix (min + latest) and gates linting to the latest leg. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
prasanna-anchorage
enabled auto-merge
July 15, 2026 22:14
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
go.mod'sgodirective is set to1.22— the actual floor required by this module's dependencies (urfave/cli/v3requiresgo1.22) and its own code, rather than the latest toolchain. A highgodirective forces every downstream consumer to upgrade their toolchain for no reason.1.22(declared minimum) and1.26(latest), so both are verified on every push/PR. Linting only runs once, on the latest leg.Test plan
go build ./...passes withgo 1.22directivego vet ./...passes (no use of post-1.22 language features)go test ./...passes (122 tests, 3 packages)Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com