Skip to content

fix(examples/jekyll): pin ruby@3.1 back to 3.1.4 for macOS - #2984

Merged
mikeland73 merged 1 commit into
mainfrom
mikeland73/debug-ci-run-failure
Sep 24, 2026
Merged

mikeland73 merged 1 commit into
mainfrom
mikeland73/debug-ci-run-failure

Conversation

@mikeland73

Copy link
Copy Markdown
Collaborator

Summary

Fixes the nightly cli-tests failure in stacks_jekyll_run_test on macOS (e.g. run 35838473204), failing every scheduled run since #2974. That PR bumped ruby@3.1 to 3.1.7 (nixpkgs/bce5fe2b#ruby_3_1), whose aarch64-darwin build lacks the socket extension, so gem install fails with uninitialized constant Gem::Commands::InstallCommand (masking LoadError: cannot load such file -- socket). This restores the previous 3.1.4 lock entry, same as #2974 did for libffi and stack; #2974's own CI missed it because macOS only runs on schedule or with run-mac-tests.

How was it tested?

Locally on arm64 macOS: DEVBOX_RUN_PROJECT_TESTS=1 go test ./testscripts -run TestExamples/stacks_jekyll_run_test passes with this change and fails with the same error on the current main lockfile.

Community Contribution License

All community contributions in this pull request are licensed to the project
maintainers under the terms of the
Apache 2 License.

By creating this pull request, I represent that I have the right to license the
contributions to the project maintainers under the Apache 2 License as stated in
the
Community Contribution License.

🤖 Generated with Claude Code

The ruby_3_1 (3.1.7) build pinned in #2974 is missing the socket
extension on aarch64-darwin, so `gem install` fails with
`uninitialized constant Gem::Commands::InstallCommand` (masking a
`LoadError: cannot load such file -- socket`). This broke the nightly
macOS project tests. Restore the previous 3.1.4 lock entry.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mikeland73

Copy link
Copy Markdown
Collaborator Author

@claude ptal

@claude

claude Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Claude finished @mikeland73's task in 1m 1s —— View job


Review: PR #2984

LGTM. The fix is a clean, well-scoped lockfile-only change:

  • examples/stacks/jekyll/devbox.lock:152-157 reverts ruby@3.1's resolution from nixpkgs rev bce5fe2b... (v3.1.7) back to 10b81304... (v3.1.4), matching the last_modified/resolved/version/store-path fields consistently across all four platforms (aarch64-darwin, aarch64-linux, x86_64-darwin, x86_64-linux).
  • This mirrors exactly how chore(deps): update devbox packages across all projects #2974 pinned libffi@latest to an older nixpkgs revision (98b00b69..., Feb 2024) in the same lockfile — good precedent, and the new ruby revision (2024-02-10) lines up with that same era, which is reassuring for consistency.
  • devbox.json still declares "ruby@3.1" (a version range), so no change is needed there — the lockfile is the right place to pin the exact resolved build. This is correct.
  • Root cause explanation (aarch64-darwin 3.1.7 build missing the socket extension, masked by a confusing Gem::Commands::InstallCommand error) is plausible and consistent with known nixpkgs ruby packaging regressions.
  • Scope is minimal — single file, no unrelated changes.

I can't independently verify the Nix store hashes/build outputs in this sandbox (no nix available here, and this only reproduces on aarch64-darwin per the nightly schedule), but the diff's internal structure is self-consistent and the author confirmed local testing on arm64 macOS reproduces the failure on main and passes with this change — that's the right verification method for this kind of fix.

No changes requested.

@mikeland73
mikeland73 merged commit 10add12 into main Sep 24, 2026
62 checks passed
@mikeland73
mikeland73 deleted the mikeland73/debug-ci-run-failure branch September 24, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant