3232 - { name: "openssl", value: true }
3333 - { name: "no-openssl", value: false }
3434 steps :
35- - uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
35+ - uses : actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
3636 - name : Setup ruby
37- uses : ruby/setup-ruby@c04af2bb7258bb6a03df1d3c1865998ac9390972 # v1.194 .0
37+ uses : ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196 .0
3838 with :
3939 ruby-version : ${{ matrix.ruby.value }}
4040 bundler : none
9090 if : matrix.ruby.name != 'truffleruby' && matrix.ruby.name != 'jruby'
9191 - name : Check rails can be installed
9292 run : gem install rails --verbose --backtrace
93+ - name : Install and load a gem that defines a command as a plugin
94+ run : |
95+ gem install nexus:1.5.2
96+ gem nexus --help
9397 timeout-minutes : 10
9498
9599 install_rubygems_windows :
@@ -104,9 +108,9 @@ jobs:
104108 - { name: "3.3", value: 3.3.5 }
105109 - { name: jruby-9.4, value: jruby-9.4.8.0, rails-args: "--skip-webpack-install" }
106110 steps :
107- - uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
111+ - uses : actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
108112 - name : Setup ruby
109- uses : ruby/setup-ruby@c04af2bb7258bb6a03df1d3c1865998ac9390972 # v1.194 .0
113+ uses : ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196 .0
110114 with :
111115 ruby-version : ${{ matrix.ruby.value }}
112116 bundler : none
@@ -130,3 +134,48 @@ jobs:
130134 shell : bash
131135
132136 timeout-minutes : 20
137+
138+ shared_gem_home :
139+ name : Handling issues with a shared gem home
140+ runs-on : ubuntu-24.04
141+ strategy :
142+ matrix :
143+ rubygems :
144+ - dev
145+ - system
146+ steps :
147+ - uses : actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
148+ - name : Setup original ruby
149+ uses : ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196.0
150+ with :
151+ ruby-version : 3.2
152+ bundler : none
153+ - name : Save system RubyGems version to ENV
154+ run : |
155+ RGV=$(ruby -e 'puts Gem::VERSION.split(".")[0..2].join(".")')
156+ echo "RGV=v$RGV" >> $GITHUB_ENV
157+ if : matrix.rubygems == 'system'
158+ - name : Set dev RubyGems version
159+ run : |
160+ RGV=..
161+ echo "RGV=v$RGV" >> $GITHUB_ENV
162+ if : matrix.rubygems == 'dev'
163+ - name : Setup app depending on psych with initial Ruby
164+ run : mkdir foo && cd foo && ruby ../bundler/spec/support/bundle.rb init && ruby ../bundler/spec/support/bundle.rb add psych -v 5.1.2
165+ shell : bash
166+ env :
167+ GEM_HOME : bar
168+ GEM_PATH : bar
169+ - name : Setup final ruby
170+ uses : ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196.0
171+ with :
172+ ruby-version : 3.3
173+ bundler : none
174+ - name : Install gems with final ruby, using GEM_HOME created by the other Ruby
175+ run : ruby ../bundler/spec/support/bundle.rb install
176+ working-directory : foo
177+ env :
178+ GEM_HOME : bar
179+ GEM_PATH : bar
180+
181+ timeout-minutes : 20
0 commit comments