ci: install Linux helper deps from bottles#43
Conversation
📝 WalkthroughWalkthroughThis PR expands the ChangesBottled Dependency Configuration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Greptile SummaryExtends the
Confidence Score: 5/5Safe to merge; the change only affects which CI packaging dependencies are installed from bottles versus built from source, with no impact on runtime behavior or the shipped artifact's contents. The diff is a one-line regex change scoped entirely to the packaging helper's dependency setup step. The bzip2 and unzip additions directly address the documented Linux failure. The only open question is the undocumented python@ addition, which is low-risk but worth confirming before merging. cmd/jdx-package.rb — specifically the python@ allowlist entry that lacks a description in the PR. Important Files Changed
Reviews (3): Last reviewed commit: "ci: install bzip2 from bottle during pac..." | Re-trigger Greptile |
Source-building the helper toolchain (glibc, gmp, gcc, ...) with --build-bottle fails under Homebrew 6 on both Linux architectures: once the glibc bottle is poured, gmp's configure cannot run its compiled test programs. Only this tap's portable-* formulae need source builds - their outputs are what get statically linked into Ruby, and the brew linkage check verifies nothing else leaks in - so partition on that instead of an ever-growing allowlist, finishing what "ci: install Linux helper deps from bottles" (jdx#43) started. Also cuts Linux build times. Drop `make extract-gems` for ruby 2.7: its target runs via RUNRUBY (./miniruby, which does not exist before `make`; 3.x uses BASERUBY), and 2.7's rbinstall installs bundled gems from gems/*.gem directly (tool/rbinstall.rb:902), so extraction is unnecessary. https://claude.ai/code/session_015m4jwUW8kgyeWx6XkVvxeV
Summary
jdx-packagedependency setupbzip2,unzip, andpython@...Context
Open Renovate PRs were failing in the Linux matrix while
brew jdx-packageran a largebrew install --build-bottle ...dependency install. The first observed failure wasbzip2:After moving
bzip2to bottle installs, CI moved forward and exposed source-build failures inunzip, thenpython@3.14duringensurepip/pip setup. These are helper/tooling dependencies for the build path, not dependencies we need to force-build for portable Ruby linkage.This keeps the workaround scoped to the packaging dependency policy instead of changing the formulae themselves.
Testing
git diff --checkruby -c cmd/jdx-package.rb, but Ruby is not installed locally andmise x ruby@3.4.1failed to build due to missingpsychprerequisites in this environment