fix(nix): bump nixpkgs pin so nix-shell-test builds with go >= 1.25.9 - #2226
Conversation
…1.25.9 github.com/moby/buildkit v0.31.1 (bumped by dependabot in #2224) requires go >= 1.25.9 in its own go.mod, which raised our module's go directive to 1.25.9 too. The nixpkgs revision pinned in flake.lock only shipped go_1_25 1.25.5, so the nix-shell-test CI job failed on every PR/push to main with "go.mod requires go >= 1.25.9 (running go 1.25.5; GOTOOLCHAIN=local)" before it ever got far enough to check the vendor hash. Update the nixpkgs pin to a revision that ships go_1_25 1.25.13, and update the resulting vendorHash for the go.sum changes from the buildkit bump. Verified locally with `nix build .#defang-cli`.
|
Warning Review limit reached
Next review available in: 25 minutes Limit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Four merges landed on main after the previous merge: #2225, #2226, #2224 (buildkit bump) and #2221. The conflicts were all dependency state, none in the cleanup code: - src/go.mod, src/go.sum: this branch carried AWS SDK pins from when it was opened in June, main has newer ones. Resolved to main's versions and re-ran `go mod tidy`, which re-added the ecr, elbv2 and rds modules this branch needs at their current versions. - pkgs/defang/cli.nix: took main's vendorHash as the closer starting point. The Update vendorHash step in go.yml corrects and commits it if the tidy moved it. src/pkg/cli/client/byoc/aws/byoc.go merged cleanly. `go build ./...` and `go test -short ./...` green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3WmpdY3zc555sNdkY9dzQ
Problem
nix-shell-testis failing onmainand on every open PR (including #2225) with:Root cause
Dependabot's
github.com/moby/buildkitbump in #2224 pulled in buildkit v0.31.1, whose owngo.modrequiresgo 1.25.9— this transitively raised our module's effective minimum toolchain requirement. That's unrelated to any single PR's diff; it landed onmainitself.flake.lock'snixpkgsinput was pinned to a January 2026 revision that only shipsgo_1_251.25.5. The Nix sandbox has no network access to auto-fetch a newer toolchain (GOTOOLCHAIN=local), so the build fails outright before it even gets to vendor-hash verification — the CI job's existing "Update vendorHash if needed" auto-fix step never even triggers, since the failure isn't a hash mismatch.Fix
nixpkgsflake input to a current revision (go_1_25= 1.25.13, satisfies>= 1.25.9).pkgs/defang/cli.nix'svendorHashfor thego.sumchanges from the buildkit bump (the old hash was already stale after chore(deps): bump github.com/moby/buildkit from 0.28.1 to 0.31.1 in /src #2224, just never surfaced because the build died on the Go version check first).Verified locally:
Test plan
nix build .#defang-clisucceeds locally with the updated pinnix-shell-testpasses in CI on this PR