Task · TSO-0001

Upgrade Go toolchain to 1.27

Description

Adopt Go 1.27 consistently across the application, nested modules, build images, CI configuration, setup automation, and version-specific contributor documentation.

Acceptance Criteria

Definition of Done

Implementation Plan

  1. Inventory every active Go version pin, including nested modules and container or CI toolchains. 2. Update the pins and version-specific documentation to Go 1.27.0 without changing historical records or fixtures. 3. Run the repository-defined validation gate, review the diff, commit to main, push, and confirm hosted CI.

Implementation Notes

Local Go 1.27.0 evidence: root build, vet, and golangci-lint passed with 0 issues; all four nested modules passed build, vet, and tests. The root race suite remains red only in workflow-contract tests for missing reusable-call exemptions and missing concurrency in arm-automerge.yml and ghcr-cleanup.yml. The same failures are present on prior main CI run 32145428038, so AC 3 and DoD 1 remain unchecked pending exact-head hosted CI. No generated input changed. CodeRabbit was skipped because the change is declarative toolchain, container, and documentation configuration only.

Exact-head CI run 32662556980 retained two before-fix failures: the v2.12.2 Linux analyzer could not handle Go 1.27 in tools/configcheck, and deploy/Dockerfile still set the deleted goroutineleakprofile experiment. The lint and cloud setup pin is now current v2.13.1; the obsolete experiment was removed from Docker and GoReleaser, and current profiling comments/docs were updated for Go 1.27 general availability. Linux-target lint passed for the root and all four nested modules, focused profiling/cert/credential tests and root build passed, actionlint passed, and GoReleaser validated the configuration.

Hosted CI is now green on Go 1.27 at 613d0a3: every workflow on the default branch completed successfully, including the full CI lane, CodeQL, Docker Security, Helm, actionlint, zizmor and Scorecard. The workflow-contract failures that held AC 3 open (TestExemptionsAreOnlyForReusableCallJobs and TestSupersedableLanesCancelOrSerialize) were fixed by d8a56ad and pass locally and in CI. A dispatched Client-lib tracking run on the same commit also passed both matrix legs, which retired the stale drift issue that had been misreporting those same two failures as a client-library break.

Final Summary

Go 1.27 is adopted across the root module, all four nested tool modules, the build images, CI, setup automation and the version-specific documentation, and the repository green-bar validation now passes under it. Verified by hosted CI at 613d0a3, where every workflow on the default branch completed successfully, plus a clean local go build, go vet, go test -race and golangci-lint run on the same toolchain.

View the source file on GitHub