Repository navigation
chore(ci): move to Go 1.27.3 across the repo; bump grpc, x/net, goldmark, lint - #231
Conversation
d3b57d7 to
12706d8
Compare
ACR on this PR
Blockers, folded in:
Non-blockers, folded in: a Left as is: Found, and outside this PR: concurrent inbound Maintainers, the Go 1.25 decision in the description is yours. Everything above this PR in the stack depends on it. |
ca7a2dc to
3c49a70
Compare
…ark, lint govulncheck now fails every PR on published advisories in Go 1.26.6, golang.org/x/net and google.golang.org/grpc. Every go.mod and go.work now declares Go 1.27.3, the toolchain lines go, and CI reads the version from go.work, so there is one place to change it. golangci-lint moves to v2.15.0, which reads Go 1.27. Signed-off-by: Ray Karnes <ray.karnes@stablekernel.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X68YCZWjmAU3PYkJ2rFP83
3c49a70 to
9e2d5f3
Compare
ACR on the Go 1.27.3 revision (AI reviewers, clean context)The scope changed after the earlier round: the whole repo now moves to Go 1.27.3, CI reads the version from
Blockers, folded in: a leftover Evidence: Not verified: whether branch protection requires any job name that lost its Go version. |
What this change does
Unblocks CI, and puts the whole repo on one Go version.
govulnchecknow fails every PR on newly published advisories, with no code change involved.go.modandgo.workdeclaresgo 1.27.3, and thetoolchainlines are gone.go-version-file: go.work, and thegomatrix dimension is gone, so nothing else pins a Go version.golangci-lintmoves tov2.15.0, which reads Go 1.27, in CI andmagefile.go.golang.org/x/nettov0.62.0,google.golang.org/grpctov1.83.2intransport,sink/gcppubsub,examples/dispatchande2e.x/netalso incmd/crucible.github.com/yuin/goldmarktov1.7.17incmd/crucible.Please check these:
state,sourceandsource/kafka, so consumers on anything older can't build them unless their toolchain auto-downloads it. Every module changelog says so, andSECURITY.mdandSTABILITY.mdnow match: fixes go to each module's latest release, and raising the Go version is at least a minor release.encoding/jsonto its v2 backend. Decoded values for valid input match in this repo's tests, and all 48 modules test the same with it on and off. A string with invalid UTF-8 encodes differently from Go 1.26, and error text, error types and partly decoded targets can differ. Nothing in the repo depends on those.Why
crypto/x509net/http,x/netx/netv0.60.0x/netx/netv0.62.0grpcgrpcgoldmark(cmd/crucible, not in CI's scan)The table lists the main findings, not every advisory on the older versions.
Relates to: #229
Evidence
Run locally on
GOTOOLCHAIN=go1.27.3:go run github.com/magefile/mage checkgovulncheckover mage's 13 modules)go run golang.org/x/vuln/cmd/govulncheck@v1.3.0 ./...intransport,sink/gcppubsub,examples/dispatch,e2e,cmd/crucibleChecklist
git commit -s) per the DCOtype: subject)mage checkpasses locally (lint + race tests + govulncheck), onGOTOOLCHAIN=go1.27.3magefile.go; no other source changetransport's README.telemetry/slogandtransporthave no changelog.