Skip to content

build(go): upgrade to Go 1.26.10 - #94

Open
appleboy wants to merge 1 commit into
masterfrom
chore/upgrade-go-1.26.10
Open

appleboy wants to merge 1 commit into
masterfrom
chore/upgrade-go-1.26.10

Conversation

@appleboy

Copy link
Copy Markdown
Member

Summary

Require Go 1.26.10 in all tracked Go modules, including nested examples and tool modules where present. CI tests the exact minimum patch release while retaining the existing Go 1.27 job where present. Dependency versions and application code are unchanged.

AI authorship

  • AI was used: Codex (GPT-6).
  • AI-authored files: .github/workflows/go.yml, _example/example01/go.mod, _example/example02/go.mod, _example/example03/go.mod, _example/example04/go.mod, go.mod, go.tools.mod.
  • Human line-by-line reviewed: None — not yet reviewed by a human.

Change classification

Core: minimum Go requirements affect downstream consumers. Please obtain review from two reviewers, including a module owner.

Plan and related issues

Update to the latest default branch and upgrade Go to 1.26.10. No issue references supplied.

Verification

Checkout chore/upgrade-go-1.26.10 (commit 26b1f7ce8a85941846432ad6308d38a1a2399d65) and run commands from the repository root unless a subdirectory is specified. Install Go 1.26.10; go version must report go1.26.10. Network access is needed for module downloads.

Command / directory Expected result Status / observed result
go test -mod=readonly -timeout=120s ./... in _example/example01 Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
go test -mod=readonly -timeout=120s ./... in _example/example02 Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
go test -mod=readonly -timeout=120s ./... in _example/example03 Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
go test -mod=readonly -timeout=120s ./... in _example/example04 Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
go test -mod=readonly -timeout=120s ./... in . Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
go tool -modfile=go.tools.mod golangci-lint run in . Exit 0; tests/lint pass, or module identity is printed for metadata-only modules Passed, exit 0
git diff --check and git diff --staged --check No whitespace errors Passed

Minimum-version scenario

  1. Inspect every changed .mod file: each go directive must equal 1.26.10.
  2. Inspect changed workflows: the minimum-version job must select 1.26.10. Existing Go 1.27 coverage remains where present.
  3. Run the checks above using Go 1.26.10. Tests must pass without rewriting module files.

Status: Passed locally. Hosted GitHub Actions have not been observed yet. Website modules contain no Go source, so their verification parses module metadata instead of claiming application tests.

Security, risk, and rollback

No secrets or security-sensitive application interfaces changed. Consumers using an older Go version must upgrade; automatic toolchain downloads may require network access. Revert this commit to restore previous minimum versions and CI settings. Remove disposable test containers after integration checks.

Reviewer guide

Review minimum-version compatibility, then spot-check the mechanical module and workflow updates.

- Require Go 1.26.10 across tracked modules
- Test the minimum supported patch release in CI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant