Repository navigation
Retry pinned bundler installs in the e2e legs - #1854
Mikola Lysenko (mikolalysenko) wants to merge 1 commit into
Conversation
#1828 moved hosted-e2e's bundler install off setup-ruby's `bundler:` input, which runs one bare `gem install` with no retry, after a single failed TCP connect to rubygems.org evicted #1813 from the merge queue. The shared e2e steps still installed every 2.x/4.x pinned bundler (and e2e_gem's 2.5 floor) the same way: the bundler 4.0.21 gem leg in the merge-queue `e2e` job, plus six legs in nightly e2e-extended/e2e-full. Set `bundler: 'none'` and install every pinned bundler through scripts/gem-install-retry.sh, folding in the existing 1.x step. A two-part version keeps the `~> X.Y.0` requirement setup-ruby derived for it; a three-part pin stays exact. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011f9aeRXHaoEzZbpeYNu2xM
|
bugbot run Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 09da545. Configure here.
|
Two e2e legs failed: Generated by Claude Code |
|
The single re-run of the lost legs is done. Generated by Claude Code |
|
Burn-down agent: labeled Ready for review at
Generated by Claude Code |
|
[agent] Labeled Ready for review at
Generated by Claude Code |
Final review briefWhat it does: Pinned bundler installs in the e2e legs went through setup-ruby's single Risk: low. This is a CI workflow change only. The retry loop exits 1 after the last attempt, because Look here:
Verified: I read the diff and the script, and checked that Setup Ruby and the install step share the same condition, so no leg loses its bundler. Changes I made: none. Open questions: none. Two notes. No current matrix row uses Auto-merge (squash) is armed, so approving sends this straight to the merge queue. Generated by Claude Code |
Problem
ruby/setup-ruby'sbundler:input installs bundler with one baregem install. RubyGems has no retry of its own. On 2026-10-29 at 13:34 UTC a singleSocketError: Failed to open TCP connection to rubygems.org:443in hosted-e2e's Setup Ruby step failed merge_group run 40882178298 and evicted #1813 from the queue.#1828 fixed that for hosted-e2e only. The shared
&e2e-stepsstill install the pinned 2.x/4.x bundlers, and e2e_gem's 2.5 floor, through that same bare install:e2ejob's gem leg (ruby: '3.4', bundler: '4.0.21').e2e-extended(bundler 2.1.4, 2.2.33, 2.5.23, 2.6.9, 4.0.15) ande2e-full(2.7.2).One rubygems.org blip on the merge-queue leg evicts an entry in exactly the same way as #1813.
Fix
bundler: 'none'.e2e_gem, and goes throughscripts/gem-install-retry.sh(4 attempts, growing pause).2.5becomes~> 2.5.0, and a three-part pin stays exact.BUNDLER_VERSION) is unchanged, so every leg still runs exactly its pinned bundler.Proof
scripts/gem-install-retry.sh bundler -v "~> 2.5.0" --no-documentinstalls bundler-2.5.23 locally (Ruby 3.3.6).2.5 → ~> 2.5.0,4.0.21 → 4.0.21,2.1.4 → 2.1.4and1.17.3 → 1.17.3.e2egem leg (bundler 4.0.21) exercises the new step. The nightly legs share the same step.Where tests run
Nothing is removed or moved. No required-check names change.
Generated by Claude Code
Note
Low Risk
CI-only workflow change to bundler installation; no application code or required-check names change, and pinned versions plus
BUNDLER_VERSIONselection are preserved.Overview
E2e gem/bundler legs no longer install Bundler through
ruby/setup-ruby. Setup Ruby now always passesbundler: 'none', and a renamed Install Bundler step runs for every leg that pinsmatrix.bundlerpluse2e_gem, callingscripts/gem-install-retry.shinstead of setup-ruby’s single-shotgem install.The step maps version pins the same way setup-ruby did: two-part pins like
2.5become~> 2.5.0, three-part pins stay exact. Select the pinned Bundler (BUNDLER_VERSION) is unchanged, so runtime bundler selection behavior is the same—only the install path gains retries for rubygems.org flakes on merge-queue and nightly e2e rows.Reviewed by Cursor Bugbot for commit 09da545. Configure here.
Generated by Claude Code