7070 - uses : actions/checkout@v4
7171 with :
7272 submodules : true
73- - uses : ruby/setup-ruby@v1
73+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
7474 with :
7575 ruby-version : " 3.3"
7676 bundler-cache : true
9999 needs : ["basic"]
100100 outputs :
101101 # these are usually the same, but are different once we get to ruby release candidates
102- setup_ruby : " ['3.1 ', '3.2 ', '3.3 ', '3.4 ']"
103- setup_ruby_win : " ['3.1 ', '3.2 ', '3.3 ', '3.4 ']"
104- image_tag : " ['3.1 ', '3.2 ', '3.3 ', '3.4 ']"
102+ setup_ruby : " ['3.2 ', '3.3 ', '3.4 ', '4.0 ']"
103+ setup_ruby_win : " ['3.2 ', '3.3 ', '3.4 ', '4.0 ']"
104+ image_tag : " ['3.2 ', '3.3 ', '3.4 ', '4.0 ']"
105105 runs-on : ubuntu-latest
106106 steps :
107107 - run : echo "generating rubies ..."
@@ -113,7 +113,7 @@ jobs:
113113 rcd_image_version : ${{steps.rcd_image_version.outputs.rcd_image_version}}
114114 steps :
115115 - uses : actions/checkout@v4
116- - uses : ruby/setup-ruby@v1
116+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
117117 with :
118118 ruby-version : " 3.4"
119119 bundler-cache : true
@@ -271,14 +271,13 @@ jobs:
271271 matrix :
272272 sys : ["enable", "disable"]
273273 ruby : ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby) }}
274- include :
275- - { ruby: "3.1", os: macos-14 }
276- runs-on : ${{ matrix.os || 'macos-latest' }}
274+ os : [ macos-15-intel, macos-15 ]
275+ runs-on : ${{ matrix.os }}
277276 steps :
278277 - uses : actions/checkout@v4
279278 with :
280279 submodules : true
281- - uses : ruby/setup-ruby@v1
280+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
282281 with :
283282 ruby-version : ${{matrix.ruby}}
284283 bundler-cache : true
@@ -328,8 +327,6 @@ jobs:
328327 matrix :
329328 sys : ["enable", "disable"]
330329 ruby : ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby_win) }}
331- exclude :
332- - ruby : " 3.1" # because Ruby 3.1 devkit is built with a version of GCC too old for modern msys2 2025-08
333330 runs-on : windows-2022
334331 steps :
335332 - name : configure git crlf
@@ -341,6 +338,7 @@ jobs:
341338 submodules : true
342339 - uses : ruby/setup-ruby-pkgs@v1
343340 with :
341+ setup-ruby-ref : ruby/setup-ruby/d3e3bd032ad2222a8ac878bbccf2aba78864e134
344342 ruby-version : " ${{matrix.ruby}}"
345343 mingw : " libxml2 libxslt"
346344 bundler-cache : true
@@ -358,13 +356,13 @@ jobs:
358356 strategy :
359357 fail-fast : false
360358 matrix :
361- ruby : ["jruby-9.4 "]
359+ ruby : ["jruby-10.0 "]
362360 runs-on : ubuntu-latest
363361 steps :
364362 - uses : actions/checkout@v4
365363 with :
366364 submodules : true
367- - uses : ruby/setup-ruby@v1
365+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
368366 with :
369367 ruby-version : ${{matrix.ruby}}
370368 bundler-cache : true
@@ -392,6 +390,7 @@ jobs:
392390 submodules : true
393391 - uses : ruby/setup-ruby-pkgs@v1
394392 with :
393+ setup-ruby-ref : ruby/setup-ruby/d3e3bd032ad2222a8ac878bbccf2aba78864e134
395394 ruby-version : truffleruby
396395 bundler-cache : true
397396 bundler : 2.5.10
@@ -515,6 +514,7 @@ jobs:
515514 submodules : true
516515 - uses : ruby/setup-ruby-pkgs@v1
517516 with :
517+ setup-ruby-ref : ruby/setup-ruby/d3e3bd032ad2222a8ac878bbccf2aba78864e134
518518 ruby-version : " ${{matrix.ruby}}"
519519 apt-get : " libxml2-dev libxslt1-dev pkg-config"
520520 - uses : actions/download-artifact@v4
@@ -530,14 +530,13 @@ jobs:
530530 matrix :
531531 sys : ["enable", "disable"]
532532 ruby : ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby) }}
533- include :
534- - { ruby: "3.1", os: macos-14 }
535- runs-on : ${{ matrix.os || 'macos-latest' }}
533+ os : [ macos-15-intel, macos-15 ]
534+ runs-on : ${{ matrix.os }}
536535 steps :
537536 - uses : actions/checkout@v4
538537 with :
539538 submodules : true
540- - uses : ruby/setup-ruby@v1
539+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
541540 with :
542541 ruby-version : " ${{matrix.ruby}}"
543542 - uses : actions/download-artifact@v4
@@ -553,15 +552,14 @@ jobs:
553552 matrix :
554553 sys : ["enable", "disable"]
555554 ruby : ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby_win) }}
556- exclude :
557- - ruby : " 3.1" # because Ruby 3.1 devkit is built with a version of GCC too old for modern msys2 2025-08
558555 runs-on : windows-2022
559556 steps :
560557 - uses : actions/checkout@v4
561558 with :
562559 submodules : true
563560 - uses : ruby/setup-ruby-pkgs@v1
564561 with :
562+ setup-ruby-ref : ruby/setup-ruby/d3e3bd032ad2222a8ac878bbccf2aba78864e134
565563 ruby-version : " ${{matrix.ruby}}"
566564 mingw : " libxml2 libxslt"
567565 - uses : actions/download-artifact@v4
@@ -617,7 +615,7 @@ jobs:
617615 - uses : actions/checkout@v4
618616 with :
619617 submodules : true
620- - uses : ruby/setup-ruby@v1
618+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
621619 with :
622620 ruby-version : " ${{matrix.ruby}}"
623621 - uses : actions/download-artifact@v4
@@ -642,15 +640,15 @@ jobs:
642640 ruby : ${{ fromJSON(needs.ruby_versions.outputs.image_tag) }}
643641 include :
644642 # declare docker image for each platform
645- - { platform: aarch64-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
646- - { platform: arm-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
647- - { platform: x86_64-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
643+ - { runner: ubuntu-latest, platform: aarch64-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
644+ - { runner: ubuntu-latest, platform: arm-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
645+ - { runner: ubuntu-latest, platform: x86_64-linux-musl, docker_tag: "-alpine", bootstrap: "apk add bash build-base &&" }
648646 # declare docker platform for each platform
649- - { platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64/v8" }
650- - { platform: aarch64-linux-musl, docker_platform: "--platform=linux/arm64/v8" }
651- - { platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
652- - { platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
653- runs-on : ubuntu-latest
647+ - { runner: ubuntu-24.04-arm, platform: aarch64-linux-gnu, docker_platform: "--platform=linux/arm64/v8" }
648+ - { runner: ubuntu-24.04-arm, platform: aarch64-linux-musl, docker_platform: "--platform=linux/arm64/v8" }
649+ - { runner: ubuntu-24.04-arm, platform: arm-linux-gnu, docker_platform: "--platform=linux/arm/v7" }
650+ - { runner: ubuntu-24.04-arm, platform: arm-linux-musl, docker_platform: "--platform=linux/arm/v7" }
651+ runs-on : ${{ matrix.runner || ' ubuntu-latest' }}
654652 steps :
655653 - uses : actions/checkout@v4
656654 with :
@@ -660,7 +658,6 @@ jobs:
660658 name : cruby-${{ matrix.platform }}-gem
661659 path : gems
662660 - run : |
663- docker run --rm --privileged alekitto/qemu-user-static --reset -p yes
664661 docker run --rm -v $PWD:/nokogiri -w /nokogiri \
665662 ${{ matrix.docker_platform }} ruby:${{ matrix.ruby }}${{ matrix.docker_tag }} \
666663 sh -c "
@@ -679,14 +676,14 @@ jobs:
679676 - x86_64-darwin
680677 ruby : ${{ fromJSON(needs.ruby_versions.outputs.setup_ruby) }}
681678 include :
682- - { platform: arm64-darwin, os: macos-14 }
683- - { platform: x86_64-darwin, os: macos-13 }
679+ - { platform: arm64-darwin, os: macos-15 }
680+ - { platform: x86_64-darwin, os: macos-15-intel }
684681 runs-on : ${{ matrix.os }}
685682 steps :
686683 - uses : actions/checkout@v4
687684 with :
688685 submodules : true
689- - uses : ruby/setup-ruby@v1
686+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
690687 with :
691688 ruby-version : " ${{ matrix.ruby }}"
692689 - uses : actions/download-artifact@v4
@@ -706,7 +703,7 @@ jobs:
706703 - uses : actions/checkout@v4
707704 with :
708705 submodules : true
709- - uses : ruby/setup-ruby@v1
706+ - uses : ruby/setup-ruby@d3e3bd032ad2222a8ac878bbccf2aba78864e134
710707 with :
711708 ruby-version : " ${{matrix.ruby}}"
712709 - uses : actions/download-artifact@v4
@@ -737,19 +734,19 @@ jobs:
737734 strategy :
738735 fail-fast : false
739736 matrix :
740- jruby : ["9.4 "]
741- jre : ["8 ", "11 "]
737+ jruby : ["10.0 "]
738+ jre : ["21 ", "25 "]
742739 name : " jruby-${{matrix.jruby}}-jre${{matrix.jre}}-install"
743740 runs-on : ubuntu-latest
741+ container :
742+ image : " jruby:${{matrix.jruby}}-jre${{matrix.jre}}"
744743 steps :
744+ - run : apt update && apt install -y build-essential git
745745 - uses : actions/checkout@v4
746746 with :
747747 submodules : true
748748 - uses : actions/download-artifact@v4
749749 with :
750750 name : jruby-gem
751751 path : gems
752- - run : |
753- docker run --rm -v "$PWD:/nokogiri" -w /nokogiri \
754- jruby:${{matrix.jruby}}-jre${{matrix.jre}} \
755- ./scripts/test-gem-install gems
752+ - run : ./scripts/test-gem-install gems
0 commit comments