Skip to content

Update RubyGems in CI to fix Ruby 4.0 native extension builds#3940

Draft
st0012 wants to merge 1 commit intomainfrom
fix-ruby-4.0-ci-rubygems-update
Draft

Update RubyGems in CI to fix Ruby 4.0 native extension builds#3940
st0012 wants to merge 1 commit intomainfrom
fix-ruby-4.0-ci-rubygems-update

Conversation

@st0012
Copy link
Member

@st0012 st0012 commented Feb 5, 2026

Ruby 4.0.1 ships with RubyGems 4.0.3, which has a missing require 'etc' in installer.rb (fixed in 4.0.4 via ruby/rubygems#9242). This causes native extension compilation to fail with a NameError when Etc hasn'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 loaded etc as a side effect.

Motivation

Implementation

Automated Tests

Manual Tests

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.
@st0012 st0012 force-pushed the fix-ruby-4.0-ci-rubygems-update branch from 34d4dd7 to 6b2a170 Compare February 5, 2026 23:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant