fix(ci): stop Go toolchain auto-download in the CI image #24
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-go-toolchain-download"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why it happened
manifest.scm) contains Go 1.26.0 —manifest.scmpins Go by name only ("go"), so its version floats with whatever guix channel the runner packed on.go.moddeclaredgo 1.26.1— an over-specific patch directive that nothing requires (cobra/yaml/xdg need far older Go; it was set at project init).GOTOOLCHAIN=auto+ image Go (1.26.0) < go.mod (1.26.1) → Go auto-downloaded the 1.26.1 toolchain at build time; that download broke gofmt/golangci-lint.Fix
go.mod→go 1.26.0(its true minimum; the image satisfies it).GOTOOLCHAIN=localin both CI lint jobs (GitLab + Forgejo) — use the pinned image/manifest Go, never silently download; a real mismatch now fails loudly (signal to refresh the image) instead of a flaky download.Verified
gofmt + go vet run clean inside the 1.26.0 CI image with no toolchain download. Local build/vet/golangci-lint clean; YAML valid.
Durable follow-up (not in this PR)
Pin the guix channel (
channels.scm) shared by dev + the CI runner so"go"resolves identically everywhere — removes the version float at the source.🤖 Generated with Claude Code