chore(go): move the toolchain to Go 1.27 #74
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/go-1.27"
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?
Moves the toolchain floor to Go 1.27:
go.mod, the three image builds, and the AGENTS.md repo fact.Changes
go.mod:go 1.26->go 1.27.Dockerfile,Dockerfile.cuda:golang:1.26->golang:1.27.Dockerfile.cuda-prerelease:golang:1.27-trixie, not the bare tag. It installs NVIDIA's trixie packages, and wheregolang:1.26was trixie, the baregolang:1.27tag resolves to a different base -- so the suffix now carries weight the comment used to get for free.ci.yaml: a step printinggo versionandgo env GOTOOLCHAIN GOPROXY.Verified locally (go1.27.1)
gofmt,go vet ./...,go test ./...,go build ./..., and thecuda-tagged build all pass.What this PR's CI run is actually testing
The pool's runner image bundles the toolchain (the workflow sets no
container:and no setup step), so no run has ever recorded which Go built it -- hence the new step. That matters becausego.mod's directive is only a floor: a runner older than it downloads a toolchain throughGOPROXY, which fails closed if the proxy will not servegolang.org/toolchain.The runner image (
forgejo-runner-operator,RUNNER_GO_VERSION) still pinsgolang:1.26-alpine, and those images are built by hand, so the deployedforgejo-runner-go:12-latestis very likely 1.26. I could not confirm it: Harbor needs credentials, and Athens refuses requests from outside the cluster (403 on everything,/healthzincluded), so whether it serves toolchain modules in-cluster is unknown from here.So this run resolves it either way:
RUNNER_GO_VERSIONto1.27-alpineinforgejo-runner-operator(plus the README row), rebuild and pushforgejo-runner-go:12-latest, restart the pool, then re-run this PR.🤖 Generated with Claude Code
Blocked on forgejo-runner-operator#53, which builds
forgejo-runner-goon Go 1.27.The CI run here answered the question this PR was opened to settle -- the pool's runner is 1.26 and cannot download a newer toolchain:
GOTOOLCHAIN=localcomes from the officialgolangimage, so there is no fetch path regardless of what Athens serves. The new "Go toolchain" step is what makes that visible.Order: merge #53, rebuild and push
forgejo-runner-gofrommain(make container-build-runner-go, then push), get the pool onto the new image (it pins the moving12-latestwith noimagePullPolicy, soIfNotPresentcan keep a cached copy -- pinning the immutable12-<VERSION>tag is the deterministic fix), then re-run this PR.