Update RubyGems in CI to fix Ruby 4.0 native extension builds#3940
Draft
Update RubyGems in CI to fix Ruby 4.0 native extension builds#3940
Conversation
The ubuntu-latest runner image (20260126.10+) ships a pre-installed Ruby 4.0.1 with a broken rbconfig that prevents native extension compilation (e.g. erb 6.0.1). This causes setup-ruby to use the broken pre-installed version instead of downloading from ruby-builder. Remove the pre-installed Ruby 4.0 from the tool cache before setup-ruby runs, forcing it to download a working build. Also update RubyGems to latest as a general improvement.
34d4dd7 to
6b2a170
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ruby 4.0.1 ships with RubyGems 4.0.3, which has a missing
require 'etc'ininstaller.rb(fixed in 4.0.4 via ruby/rubygems#9242). This causes native extension compilation to fail with a NameError whenEtchasn't been loaded by another code path. The failure only manifests on Ubuntu because the runner image now ships a pre-installed Ruby 4.0.1 that skips the ruby-builder download/extraction which previously loadedetcas a side effect.Motivation
Implementation
Automated Tests
Manual Tests