Skip to content

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

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-mssql 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 actions/setup-go go-version-file: go.mod selector reading the floor — unchanged
.github/workflows/ci.yml actions/setup-go go-version-file: go.mod (+ core's shared go-service-ci.yml) selector reading the floor — unchanged
templates/builder/Dockerfile.tmpl FROM alpine:3.19 (golang-migrate binary, no Go toolchain) 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 (the full suite, including the Docker hardened-runtime test, ran and passed).
  • go build -o /tmp/mssql/agent . && go version -m /tmp/mssql/agent → /tmp/mssql/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. The release workflow
compiles 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