Skip to content

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

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-envoy 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 go-service-ci.yml@main plus a local actions/setup-go with go-version-file: go.mod selector reading the floor — unchanged
templates/builder/Dockerfile.tmpl FROM envoyproxy/envoy:v1.38.0@sha256:… the Envoy runtime image, not a Go toolchain literal

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/envoy/agent . && go version -m /tmp/envoy/agent → /tmp/envoy/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.

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.

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