Task · CXO-0017

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

Go 1.27.0 changes preserve the established encoding/json behavior with GOEXPERIMENT=nojsonv2 across Make, Docker, CI, the scheduled archive probe, and source-build documentation. Root build and vet passed; a focused multi-gigabyte corpus test passed in 309 seconds. The complete local make check is not green: another corpus package exceeded the existing 10-minute go test package timeout, so AC 3 and DoD 1 remain unchecked. Hosted CI deliberately runs the documented non-corpus suite and will provide separate exact-head evidence. CodeRabbit was skipped because the change is declarative build/runtime compatibility configuration only.

Exact-head hosted evidence: GitHub Actions run 32662554126 passed at e62e7cd39e68532cf0dce84ae50b6d6f59728adf. Hosted CI passed its documented non-corpus build, vet, test, and probe jobs. AC 3 and DoD 1 remain unchecked because the complete local corpus suite exceeded its existing package timeout; this hosted run does not prove that corpus gate.

Final Summary

Upgraded the active Go application surfaces to Go 1.27 and validated the change locally and in exact-head hosted CI run 32662554126 at e62e7cd39e68532cf0dce84ae50b6d6f59728adf. Hosted CI passed its documented non-corpus build, vet, test, and probe jobs. AC 3 and DoD 1 remain unchecked because the complete local corpus suite exceeded its existing package timeout; this hosted run does not prove that corpus gate.

View the source file on GitHub