Use cached Go 1.27 from nixpkgs - #296
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Nix toolchain to use cached Go 1.27.0 directly from the refreshed nixpkgs snapshot.
Changes:
- Refreshes
flake.lock. - Removes the temporary source-build override.
- Preserves vendor-hash regression coverage and updates guidance.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
flake.lock |
Pins the newer nixpkgs revision. |
nix/go.nix |
Selects go_1_27 directly. |
RELEASING.md |
Documents toolchain lock maintenance. |
scripts/extract-nix-vendor-hash.sh |
Updates historical classifier context. |
tests/e2e/extract_nix_vendor_hash.bats |
Retains non-vendor mismatch coverage. |
tests/e2e/update_nix_flake.bats |
Retains source-hash regression coverage. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Refresh nixpkgs-unstable now that it carries stable Go 1.27.0, then remove the temporary source-toolchain override so cold Nix stores substitute Go from cache.nixos.org.
|
Rebased onto the rebased The red Locally on Go 1.27.0: |
40f04fa to
d4ca2c2
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Why
PR #283 moves HEY to Go 1.27, but its locked nixpkgs snapshot only carries 1.27rc3. The temporary override therefore compiles Go 1.27.0 from source in every fresh Nix store.
nixpkgs-unstablenow carries stable Go 1.27.0 in its binary cache, so the workaround can come out.What changed
flake.lockat nixpkgsc8f90650c15282fa8656a041bfbbd2403997a9a7go_1_27directly for both the package and development shellVerification
aarch64-linux: 53.53s, passed/nix/store/...-go-1.27.0fromcache.nixos.org; no Go source derivation was builtgo_1_27.version == 1.27.0shellcheck,bash -n,git diff --check, and lint lockstep: passedThe red test/race and default-CodeQL checks are inherited from the stale #283 base: its date-sensitive calendar test has already been fixed on current
main, while default CodeQL still selects Go 1.26.6 for a Go 1.27 module. The repo's configured CodeQL job passes. #283 needs to sync withmain; this PR's Nix-specific checks are green.Dependency
This PR is based on
go-1.27and is the second layer of the stack after #283. It intentionally contains only the nixpkgs/toolchain-cache delta.Stack order
The intended order is #304 → #283 → #296. #304 is independently based on main and should land first; #283 can then sync from main. This PR remains based on go-1.27 and intentionally contains only the Go 1.27 nixpkgs/toolchain-cache delta. No branch history was rewritten to document that dependency.