Update dependency go to v1.27.1 - #367
Review submitted — changes requested
Review summary
Change reviewed
PR buildkite/go-buildkite#367 updates the contributor and CI Go toolchain from Go 1.26.6 to Go 1.27.1. It changes the version in mise.toml and regenerates the Go section of mise.lock, including the platform-specific download URLs and checksums. The module's minimum version in go.mod remains Go 1.25, consistent with the comment in mise.toml that the mise pin controls the CI/contributor toolchain rather than the library's minimum supported Go version.
No Linear issue identifier was present in the branch name, PR title, or PR description, so there was no linked Linear issue to inspect. The PR description is the Renovate-generated dependency update description.
What I examined
I read the complete two-file diff and the full current contents of mise.toml and mise.lock. I also traced how these pins are consumed by CI:
.buildkite/pipeline.ymlinstalls the mise toolchain for both lint and test jobs..buildkite/steps/lint.shruns module tidiness, formatting,golangci-lint run, and generation checks..buildkite/steps/test.shruns the Go test suite and produces coverage artifacts.- Repository-wide references confirm that
mise.tomlis the only source pin forgolangci-lint, whilemise.lockrecords version 2.12.2.
I inspected the current PR conversation and the earlier buildsworth review. Its only blocking concern was that golangci-lint 2.12.2 is incompatible with Go 1.27. There was no author reply declining or otherwise addressing that concern, and the current revision still pins 2.12.2.
I also inspected the public details and lint log for go-buildkite build #1468, which ran against the current commit b26ac4809a2cedb56ea8b1572b9da70171ff3c2a. The test and annotation steps passed, but the lint step failed. Its log confirms that mise installed Go 1.27.1 and golangci-lint 2.12.2; the linter then panicked with:
file requires newer Go version go1.27 (application built with go1.26)
The job exited with status 2. I verified the upstream golangci-lint v2.13.0 release notes as well; that release includes the explicit go1.27 support change.
The GitHub checks visible during review showed both Socket checks passing, the go-buildkite Buildkite status failing through build #1468, and the buildsworth review check in progress. I did not run the repository checks locally because this checkout does not have go, mise, or golangci-lint installed; the current CI run provided direct evidence for both the passing tests and the failing lint path.
Finding and verdict
The previous blocking finding remains unresolved: updating CI to Go 1.27.1 while retaining a linter binary built with Go 1.26 makes the repository's lint job unusable. The failure is deterministic on the current revision and occurs before linting can complete. The smallest correction is to update the golangci-lint pin to a Go-1.27-compatible release such as 2.13.0 and regenerate mise.lock.
I replied in the existing review thread rather than opening a duplicate comment, and submitted a Changes requested review. No additional findings were identified in this pass. The Go lockfile entries themselves are internally consistent with the requested Go 1.27.1 update, and the test suite passed in CI under that toolchain.
Trigger source: automatic.