Skip to content

fix(build): release binaries on Go 1.27.3 (GO-2026-6809) - #25

Open
antoinetoussaint-byte wants to merge 1 commit into
mainfrom
fix/go-1.27.3-go-2026-6809
Open

antoinetoussaint-byte wants to merge 1 commit into
mainfrom
fix/go-1.27.3-go-2026-6809

Conversation

@antoinetoussaint-byte

Copy link
Copy Markdown
Contributor

Why

Released service-s3 agent binaries are compiled by go1.27.0, which is affected by GO-2026-6809 (crypto/x509; fixed in go1.27.3).

Go literals found

Location Literal Class
go.mod go 1.27.0 → go 1.27.3 floor (and, through go-version-file, the shipped compiler)
.github/workflows/releaser.yml uses: codefly-dev/core/.github/workflows/go-service-release.yml@main, which runs actions/setup-go with go-version-file: go.mod selector reading the floor — unchanged
.github/workflows/ci.yml actions/setup-go go-version-file: 'go.mod', cache: false selector reading the floor — unchanged; its comment was stale (claimed a toolchain line newer than go; there is none) and now states the real situation

No GOTOOLCHAIN, go-version: "x.y.z", golang: image or goreleaser-cross literal exists in this repo. No backwards selector found.

Mechanism

A go directive is a floor; with setup-go go-version-file: go.mod it is also exactly the compiler the release job installs. Raising the directive to 1.27.3 is the whole fix. go mod tidy changed nothing else.

Verified locally

  • go build ./..., go vet ./..., go test ./... all exit 0.
  • go build -o /tmp/s3/agent . && go version -m /tmp/s3/agent → /tmp/s3/agent: go1.27.3

Classification

Fix at the place that owns the behaviour (the module's own floor, which the release workflow reads).

Deliberately not done

  • No toolchain line, no GOTOOLCHAIN=go1.27.3: both are backwards selectors that would pin the build below a future directive.
  • cache: false is left as is; only its stale justification was corrected.

Not verified

  • The released archive does not exist until the owner cuts a tag; the CI go version line on this PR is the evidence that setup-go resolves the new directive.

Do not merge without the owner's say-so.

🤖 Generated with Claude Code

Raise the go directive from 1.27.0 to 1.27.3. Releases go through core's
shared go-service-release.yml, which installs Go with `actions/setup-go`
`go-version-file: go.mod`, so the directive is both the module floor and
exactly the compiler that ships; go1.27.3 carries the crypto/x509 fix for
GO-2026-6809.

ci.yml's comment claimed go.mod pins a `toolchain` newer than the `go`
line; it does not. The comment now states the actual situation and why
caching stays off.

No `toolchain` line and no GOTOOLCHAIN pin are added: both are selectors
that would hold the build back once the directive moves again.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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