|
19 | 19 | matrix: |
20 | 20 | os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, macos-15-intel, windows-2022, windows-2025, windows-11-arm ] |
21 | 21 | ruby: [ |
22 | | - '1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', ruby-head, |
23 | | - jruby-9.4, jruby, jruby-head, |
24 | | - truffleruby, truffleruby-head, |
25 | | - truffleruby+graalvm, truffleruby+graalvm-head |
| 22 | + truffleruby-head, |
| 23 | + truffleruby+graalvm-head |
26 | 24 | ] |
27 | | - include: |
28 | | - - { os: windows-2022, ruby: mingw } |
29 | | - - { os: windows-2022, ruby: mswin } |
30 | | - - { os: windows-2022, ruby: ucrt } |
31 | | - - { os: windows-2025, ruby: mingw } |
32 | | - - { os: windows-2025, ruby: mswin } |
33 | | - - { os: windows-2025, ruby: ucrt } |
34 | | - - { os: ubuntu-24.04, ruby: asan } |
35 | | - - { os: ubuntu-24.04, ruby: 3.4-asan } |
36 | 25 | exclude: |
37 | 26 | # https://github.com/ruby/setup-ruby/issues/496 |
38 | 27 | - { os: ubuntu-22.04, ruby: '2.2' } |
@@ -197,229 +186,3 @@ jobs: |
197 | 186 | - name: Windows JRuby |
198 | 187 | if: startsWith(matrix.os, 'windows') && startsWith(matrix.ruby, 'jruby') |
199 | 188 | run: gem install sassc |
200 | | - |
201 | | - testDotRubyVersion: |
202 | | - name: "Test .ruby-version" |
203 | | - runs-on: ubuntu-latest |
204 | | - steps: |
205 | | - - uses: actions/checkout@v5 |
206 | | - - run: echo "ruby-3.4.0" > .ruby-version |
207 | | - - uses: ./ |
208 | | - - run: ruby -v | grep -F "ruby 3.4.0" |
209 | | - |
210 | | - testToolVersions: |
211 | | - name: "Test .tool-versions" |
212 | | - runs-on: ubuntu-latest |
213 | | - steps: |
214 | | - - uses: actions/checkout@v5 |
215 | | - - run: echo -e "nodejs 16.0.0\nruby 3.4.0" > .tool-versions |
216 | | - - uses: ./ |
217 | | - - run: ruby -v | grep -F "ruby 3.4.0" |
218 | | - |
219 | | - testMise: |
220 | | - name: "Test mise.toml" |
221 | | - runs-on: ubuntu-latest |
222 | | - steps: |
223 | | - - uses: actions/checkout@v5 |
224 | | - - run: echo -e "[tools]\nnode = '18'\nruby = '3.4.0'" > mise.toml |
225 | | - - uses: ./ |
226 | | - - run: ruby -v | grep -F "ruby 3.4.0" |
227 | | - |
228 | | - testNoGemfile: |
229 | | - name: "Test with no Gemfile" |
230 | | - runs-on: ubuntu-latest |
231 | | - steps: |
232 | | - - uses: actions/checkout@v5 |
233 | | - - run: rm Gemfile |
234 | | - - uses: ./ |
235 | | - with: |
236 | | - ruby-version: '2.6' |
237 | | - - run: ruby -v |
238 | | - |
239 | | - testNoGemfileWithBundlerCache: |
240 | | - name: "Test with no Gemfile but with bundler-cache" |
241 | | - runs-on: ubuntu-latest |
242 | | - steps: |
243 | | - - uses: actions/checkout@v5 |
244 | | - - run: rm Gemfile |
245 | | - - uses: ./ |
246 | | - with: |
247 | | - ruby-version: '2.6' |
248 | | - bundler-cache: true |
249 | | - - run: ruby -v |
250 | | - |
251 | | - testLatestRubygemsVersion: |
252 | | - name: "Test rubygems: latest on ${{ matrix.ruby }}" |
253 | | - runs-on: ubuntu-latest |
254 | | - strategy: |
255 | | - fail-fast: false |
256 | | - matrix: |
257 | | - include: |
258 | | - - { ruby: '3.2', expected_rubygems_version: '3.6.1' } |
259 | | - - { ruby: '3.0', expected_rubygems_version: '3.5.23' } |
260 | | - - { ruby: '2.7', expected_rubygems_version: '3.4.22' } |
261 | | - - { ruby: '2.6', expected_rubygems_version: '3.4.22' } |
262 | | - - { ruby: '2.5', expected_rubygems_version: '3.3.27' } |
263 | | - - { ruby: '2.3', expected_rubygems_version: '3.3.27' } |
264 | | - - { ruby: '2.0', expected_rubygems_version: '2.7.11' } |
265 | | - steps: |
266 | | - - uses: actions/checkout@v5 |
267 | | - - uses: ./ |
268 | | - with: |
269 | | - ruby-version: ${{ matrix.ruby }} |
270 | | - rubygems: latest |
271 | | - - run: ruby -e 'puts Gem::VERSION; exit(Gem.rubygems_version >= Gem::Version.new("${{ matrix.expected_rubygems_version }}"))' |
272 | | - |
273 | | - testFixedRubygemsVersionUpgrades: |
274 | | - name: "Test rubygems: version upgrades RubyGems to that version if the default is older" |
275 | | - runs-on: ubuntu-latest |
276 | | - steps: |
277 | | - - uses: actions/checkout@v5 |
278 | | - - uses: ./ |
279 | | - with: |
280 | | - ruby-version: '2.6' |
281 | | - rubygems: 3.2.3 |
282 | | - - run: gem --version | grep -F "3.2.3" |
283 | | - |
284 | | - testFixedRubygemsVersionNoop: |
285 | | - name: "Test rubygems: version noops if the default is newer" |
286 | | - runs-on: ubuntu-latest |
287 | | - steps: |
288 | | - - uses: actions/checkout@v5 |
289 | | - - uses: ./ |
290 | | - with: |
291 | | - ruby-version: '3.1.0' |
292 | | - rubygems: 3.2.3 |
293 | | - - run: gem --version | grep -F "3.3.3" |
294 | | - |
295 | | - testUseBundlerFromRubyGemsUpdate: |
296 | | - name: "Test rubygems: version uses the Bundler installed by the rubygems update" |
297 | | - runs-on: ubuntu-latest |
298 | | - steps: |
299 | | - - uses: actions/checkout@v5 |
300 | | - - uses: ./ |
301 | | - with: |
302 | | - ruby-version: '3.1.0' |
303 | | - rubygems: 3.4.0 |
304 | | - - run: gem --version | grep -F "3.4.0" |
305 | | - - run: bundle --version | grep -F "2.4.0" |
306 | | - |
307 | | - testFixedBundlerVersionForOldRuby: |
308 | | - name: "Test bundler: 1.x for old Ruby" |
309 | | - runs-on: ubuntu-22.04 |
310 | | - steps: |
311 | | - - uses: actions/checkout@v5 |
312 | | - - uses: ./ |
313 | | - with: |
314 | | - ruby-version: '2.3' |
315 | | - bundler: 1.16.6 |
316 | | - - run: bundle --version | grep -F "1.16.6" # And not 1.17.x from ~> 1 |
317 | | - |
318 | | - testMajorBundlerVersion: |
319 | | - name: "Test with a major Bundler version" |
320 | | - runs-on: ubuntu-latest |
321 | | - steps: |
322 | | - - uses: actions/checkout@v5 |
323 | | - - uses: ./ |
324 | | - with: |
325 | | - ruby-version: '2.6' |
326 | | - bundler: 2 |
327 | | - - run: bundle --version | grep -P "Bundler version 2\.\d+\.\d+" |
328 | | - |
329 | | - testMinorBundlerVersion: |
330 | | - name: "Test with a minor Bundler version" |
331 | | - runs-on: ubuntu-latest |
332 | | - steps: |
333 | | - - uses: actions/checkout@v5 |
334 | | - - uses: ./ |
335 | | - with: |
336 | | - ruby-version: '2.6' |
337 | | - bundler: 2.2 |
338 | | - - run: bundle --version | grep -P "Bundler version 2\.2\.\d+" |
339 | | - |
340 | | - testExactBundlerVersion: |
341 | | - name: "Test with an exact Bundler version" |
342 | | - runs-on: ubuntu-latest |
343 | | - steps: |
344 | | - - uses: actions/checkout@v5 |
345 | | - - uses: ./ |
346 | | - with: |
347 | | - ruby-version: '2.6' |
348 | | - bundler: 2.2.3 |
349 | | - - run: bundle --version | grep -F "Bundler version 2.2.3" |
350 | | - |
351 | | - testBundlerPre: |
352 | | - name: "Test with a Bundler pre/rc version" |
353 | | - runs-on: ubuntu-latest |
354 | | - steps: |
355 | | - - uses: actions/checkout@v5 |
356 | | - - uses: ./ |
357 | | - with: |
358 | | - ruby-version: '2.6' |
359 | | - bundler: 2.2.0.rc.2 |
360 | | - - run: bundle --version | grep -F "Bundler version 2.2.0.rc.2" |
361 | | - |
362 | | - testBundlerDev: |
363 | | - name: "Test BUNDLED WITH Bundler dev" |
364 | | - runs-on: ubuntu-latest |
365 | | - env: |
366 | | - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler-dev.gemfile |
367 | | - steps: |
368 | | - - uses: actions/checkout@v5 |
369 | | - - uses: ./ |
370 | | - with: |
371 | | - ruby-version: ruby-head |
372 | | - bundler-cache: true |
373 | | - |
374 | | - testDependencyOnBundler1: |
375 | | - name: "Test gemfile depending on Bundler 1" |
376 | | - runs-on: ubuntu-latest |
377 | | - env: |
378 | | - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/bundler1.gemfile |
379 | | - steps: |
380 | | - - uses: actions/checkout@v5 |
381 | | - - uses: ./ |
382 | | - with: |
383 | | - ruby-version: '2.7' |
384 | | - bundler: 1 |
385 | | - bundler-cache: true |
386 | | - - run: bundle --version | grep -F "Bundler version 1." |
387 | | - |
388 | | - testGemfileMatrix: |
389 | | - strategy: |
390 | | - fail-fast: false |
391 | | - matrix: |
392 | | - gemfile: [ rails7, rails8 ] |
393 | | - name: "Test with ${{ matrix.gemfile }} gemfile" |
394 | | - runs-on: ubuntu-latest |
395 | | - env: |
396 | | - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile |
397 | | - steps: |
398 | | - - uses: actions/checkout@v5 |
399 | | - - uses: ./ |
400 | | - with: |
401 | | - ruby-version: '3.2' |
402 | | - bundler-cache: true |
403 | | - - run: bundle exec rails --version |
404 | | - |
405 | | - testWindowsToolchain: |
406 | | - name: "Test windows-toolchain: none" |
407 | | - runs-on: windows-latest |
408 | | - steps: |
409 | | - - uses: actions/checkout@v5 |
410 | | - - uses: ./ |
411 | | - with: |
412 | | - ruby-version: '2.7' |
413 | | - windows-toolchain: none |
414 | | - bundler: none |
415 | | - - name: C:/msys64/mingw64/bin/gcc.exe not installed |
416 | | - run: ruby -e "abort if File.exist?('C:/msys64/mingw64/bin/gcc.exe')" |
417 | | - |
418 | | - lint: |
419 | | - runs-on: ubuntu-22.04 |
420 | | - steps: |
421 | | - - uses: actions/checkout@v5 |
422 | | - - run: yarn install |
423 | | - - run: yarn run package |
424 | | - - name: Check generated files are up to date |
425 | | - run: git diff --exit-code |
0 commit comments