From 282961714d333a0ce39bdc78aeed777079a9c243 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 11 Dec 2024 09:05:08 -0500 Subject: [PATCH 1/5] prefactor: docker.rake uses .cross_rubies for its ruby versions removing one place where we need to maintain this list --- rakelib/docker.rake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rakelib/docker.rake b/rakelib/docker.rake index a19b3eea9b3..0efa62d4260 100644 --- a/rakelib/docker.rake +++ b/rakelib/docker.rake @@ -8,7 +8,8 @@ module DockerHelper IMAGE_DIR = "oci-images/nokogiri-test" IMAGE_NAME = "ghcr.io/sparklemotion/nokogiri-test" RUBIES = { - mri: ["3.0", "3.1", "3.2", "3.3"], + # engine → array of ruby minor versions + mri: File.read(".cross_rubies").lines.map { _1.split(":").first }.uniq.map { _1.split(".").take(2).join(".") }, } class << self From 5c4e7be0346aa2c8825eb8b7dc3c1252d8e4ca78 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 11 Dec 2024 10:00:15 -0500 Subject: [PATCH 2/5] dep: drop support for Ruby 3.0 --- .cross_rubies | 8 --- .github/workflows/ci.yml | 69 ++++----------------- .github/workflows/generate-ci-images.yml | 2 +- .rubocop.yml | 2 +- README.md | 2 +- ext/nokogiri/extconf.rb | 11 +--- nokogiri.gemspec | 2 +- oci-images/nokogiri-test/mri-3.0.dockerfile | 40 ------------ suppressions/ruby-3.0.supp | 62 ------------------ test/test_compaction.rb | 1 - 10 files changed, 18 insertions(+), 181 deletions(-) delete mode 100644 oci-images/nokogiri-test/mri-3.0.dockerfile delete mode 100644 suppressions/ruby-3.0.supp diff --git a/.cross_rubies b/.cross_rubies index fa47675a4fe..1aecb42cf4d 100644 --- a/.cross_rubies +++ b/.cross_rubies @@ -1,11 +1,3 @@ -3.0.0:aarch64-linux -3.0.0:arm-linux -3.0.0:arm64-darwin -3.0.0:x64-mingw32 -3.0.0:x86-linux -3.0.0:x86-mingw32 -3.0.0:x86_64-darwin -3.0.0:x86_64-linux 3.1.0:aarch64-linux 3.1.0:arm-linux 3.1.0:arm64-darwin diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d71bca53f5..bd15be67fd7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,7 +98,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest container: image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}} @@ -122,7 +122,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] mem: ["ruby"] include: - sys: "disable" @@ -238,7 +238,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -293,7 +293,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: windows-2022 steps: - name: configure git crlf @@ -487,7 +487,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -509,7 +509,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -525,29 +525,6 @@ jobs: - run: ./scripts/test-gem-install gems --${{matrix.sys}}-system-libraries generic-windows-install: - needs: ["generic-package"] - strategy: - fail-fast: false - matrix: - sys: ["enable", "disable"] - ruby: ["3.0"] - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - uses: ruby/setup-ruby-pkgs@v1 - with: - ruby-version: "${{matrix.ruby}}" - mingw: "libxml2 libxslt" - - uses: actions/download-artifact@v4 - with: - name: generic-gem - path: gems - - run: ./scripts/test-gem-install gems --${{matrix.sys}}-system-libraries - shell: bash - - generic-windows-install-ucrt: needs: ["generic-package"] strategy: fail-fast: false @@ -581,7 +558,6 @@ jobs: - "arm-linux" - "arm64-darwin" - "x64-mingw-ucrt" - - "x64-mingw32" - "x86-linux" - "x86-mingw32" # github actions does not support this runtime as of 2022-12, but let's build anyway - "x86_64-darwin" @@ -612,7 +588,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -634,7 +610,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -656,7 +632,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -678,7 +654,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -715,7 +691,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: macos-13 steps: - uses: actions/checkout@v4 @@ -735,7 +711,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3"] + ruby: ["3.1", "3.2", "3.3"] runs-on: macos-14 steps: - uses: actions/checkout@v4 @@ -750,27 +726,6 @@ jobs: path: gems - run: ./scripts/test-gem-install gems - cruby-x64-mingw32-install: - needs: ["cruby-package"] - strategy: - fail-fast: false - matrix: - ruby: ["3.0"] - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - uses: ruby/setup-ruby@v1 - with: - ruby-version: "${{matrix.ruby}}" - - uses: actions/download-artifact@v4 - with: - name: cruby-x64-mingw32-gem - path: gems - - run: ./scripts/test-gem-install gems - shell: bash - cruby-x64-mingw-ucrt-install: needs: ["cruby-package"] strategy: diff --git a/.github/workflows/generate-ci-images.yml b/.github/workflows/generate-ci-images.yml index 88dbc497fe3..70bc8f83763 100644 --- a/.github/workflows/generate-ci-images.yml +++ b/.github/workflows/generate-ci-images.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - tag: ["alpine", "mri-3.0", "mri-3.1", "mri-3.2", "mri-3.3", "ubuntu", "upstream-libxml"] + tag: ["alpine", "mri-3.1", "mri-3.2", "mri-3.3", "ubuntu", "upstream-libxml"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 diff --git a/.rubocop.yml b/.rubocop.yml index 37d96a2e158..def815012cc 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -22,7 +22,7 @@ inherit_from: AllCops: SuggestExtensions: false - TargetRubyVersion: "3.0" + TargetRubyVersion: "3.1" Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: consistent_comma diff --git a/README.md b/README.md index 6b523336ce1..dc324b11163 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ You can help sponsor the maintainers of this software through one of these organ Requirements: -- Ruby >= 3.0 +- Ruby >= 3.1 - JRuby >= 9.4.0.0 If you are compiling the native extension against a system version of libxml2: diff --git a/ext/nokogiri/extconf.rb b/ext/nokogiri/extconf.rb index f247fe718b4..430d8e191ad 100644 --- a/ext/nokogiri/extconf.rb +++ b/ext/nokogiri/extconf.rb @@ -1117,14 +1117,7 @@ def compile end env["RANLIB"] = "#{host}-ranlib" if windows? - # NOTE: that in any particular windows gem package, we only ever compile against either - # msvcrt (ruby <= 3.0) or ucrt (ruby > 3.0), so even though this gets evaluated only once - # per gem (and not per-version-of-ruby), it's OK. - env["CFLAGS"] = if RbConfig::CONFIG["RUBY_SO_NAME"].include?("msvcrt") - concat_flags(env["CFLAGS"], "-D_RUBY_MSVCRT") - else - concat_flags(env["CFLAGS"], "-D_RUBY_UCRT") - end + concat_flags(env["CFLAGS"], "-D_RUBY_UCRT") end end @@ -1141,7 +1134,7 @@ def compile have_func("xmlCtxtSetOptions") # introduced in libxml2 2.13.0 have_func("xmlCtxtGetOptions") # introduced in libxml2 2.14.0 have_func("xmlSwitchEncodingName") # introduced in libxml2 2.13.0 -have_func("rb_category_warning") # introduced in Ruby 3.0 +have_func("rb_category_warning") # introduced in Ruby 3.0 but had trouble resolving this symbol in truffleruby other_library_versions_string = OTHER_LIBRARY_VERSIONS.map { |k, v| [k, v].join(":") }.join(",") append_cppflags(%[-DNOKOGIRI_OTHER_LIBRARY_VERSIONS="\\"#{other_library_versions_string}\\""]) diff --git a/nokogiri.gemspec b/nokogiri.gemspec index faa875ecaa1..e5c8b0effa4 100644 --- a/nokogiri.gemspec +++ b/nokogiri.gemspec @@ -40,7 +40,7 @@ Gem::Specification.new do |spec| spec.license = "MIT" - spec.required_ruby_version = ">= 3.0.0" + spec.required_ruby_version = ">= 3.1.0" spec.homepage = "https://nokogiri.org" spec.metadata = { diff --git a/oci-images/nokogiri-test/mri-3.0.dockerfile b/oci-images/nokogiri-test/mri-3.0.dockerfile deleted file mode 100644 index 3d08b47aaea..00000000000 --- a/oci-images/nokogiri-test/mri-3.0.dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM ruby:3.0 - -# include_file debian-prelude.step -# -*- dockerfile -*- - -ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get update -RUN apt-get upgrade -y -RUN apt-get install -y apt-utils - - -# include_file debian-valgrind.step -# -*- dockerfile -*- - -RUN apt-get install -y valgrind - - -# include_file debian-libxml-et-al.step -# -*- dockerfile -*- - -RUN apt-get install -y libxslt-dev libxml2-dev zlib1g-dev pkg-config -RUN apt-get install -y libyaml-dev # for psych 5 - - -# include_file update-bundler.step -# -*- dockerfile -*- - -RUN gem install bundler - - -# include_file bundle-install.step -# -*- dockerfile -*- - -COPY Gemfile nokogiri/ -COPY Gemfile.lock nokogiri/ -COPY nokogiri.gemspec nokogiri/ - -RUN gem install bundler -v "$(grep -A 1 "BUNDLED WITH" nokogiri/Gemfile.lock | tail -n 1)" -RUN cd nokogiri && bundle install - diff --git a/suppressions/ruby-3.0.supp b/suppressions/ruby-3.0.supp deleted file mode 100644 index b776436cb78..00000000000 --- a/suppressions/ruby-3.0.supp +++ /dev/null @@ -1,62 +0,0 @@ -{ - ruby 3.0 startup - Memcheck:Addr4 - fun:iseq_peephole_optimize - fun:iseq_optimize* - fun:iseq_setup_insn - fun:iseq_setup_insn - fun:rb_iseq_compile_node - fun:rb_iseq_new_with_opt - fun:new_child_iseq - ... - # fun:iseq_compile_each0 - # fun:iseq_compile_each0 - # fun:rb_iseq_compile_node - # fun:rb_iseq_new_with_opt - # fun:new_child_iseq - # fun:iseq_compile_each0 - # fun:iseq_compile_each0 - # fun:rb_iseq_compile_node - # fun:rb_iseq_new_with_opt - # fun:rb_iseq_new_top - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias - # fun:vm_sendish.constprop.531 - # fun:vm_exec_core - # fun:rb_vm_exec - # fun:load_iseq_eval - # fun:require_internal - # fun:rb_require_string - # fun:vm_call_cfunc_with_frame - # fun:vm_call_method_each_type - # fun:vm_call_alias -} diff --git a/test/test_compaction.rb b/test/test_compaction.rb index 68ac5c2f948..da4ea70a960 100644 --- a/test/test_compaction.rb +++ b/test/test_compaction.rb @@ -4,7 +4,6 @@ describe "compaction" do def skip_compaction_tests - # supported in CRuby >= 3.0 !GC.respond_to?(:verify_compaction_references) end From 3ea71e5c77cdda253d1a9278842e9c07c3fed84b Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 11 Dec 2024 10:33:32 -0500 Subject: [PATCH 3/5] ci: upgrade test images - upgrade ubuntu from jammy to noble - upgrade alpine from alpine3.12 to alpine3.21 --- oci-images/nokogiri-test/alpine.dockerfile | 2 +- oci-images/nokogiri-test/alpine.erb | 2 +- oci-images/nokogiri-test/ubuntu.dockerfile | 2 +- oci-images/nokogiri-test/ubuntu.erb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/oci-images/nokogiri-test/alpine.dockerfile b/oci-images/nokogiri-test/alpine.dockerfile index 17e7eb01cc2..42c3f3cf30c 100644 --- a/oci-images/nokogiri-test/alpine.dockerfile +++ b/oci-images/nokogiri-test/alpine.dockerfile @@ -1,4 +1,4 @@ -FROM ruby:alpine3.12 +FROM ruby:alpine3.21 # prelude RUN apk update diff --git a/oci-images/nokogiri-test/alpine.erb b/oci-images/nokogiri-test/alpine.erb index 7569f7d700a..7a8082c611f 100644 --- a/oci-images/nokogiri-test/alpine.erb +++ b/oci-images/nokogiri-test/alpine.erb @@ -1,4 +1,4 @@ -FROM ruby:alpine3.12 +FROM ruby:alpine3.21 # prelude RUN apk update diff --git a/oci-images/nokogiri-test/ubuntu.dockerfile b/oci-images/nokogiri-test/ubuntu.dockerfile index ee92f0fe272..855c6bab0ed 100644 --- a/oci-images/nokogiri-test/ubuntu.dockerfile +++ b/oci-images/nokogiri-test/ubuntu.dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:jammy +FROM ubuntu:noble # include_file debian-prelude.step # -*- dockerfile -*- diff --git a/oci-images/nokogiri-test/ubuntu.erb b/oci-images/nokogiri-test/ubuntu.erb index 436ccfd3004..2ab5467a4eb 100644 --- a/oci-images/nokogiri-test/ubuntu.erb +++ b/oci-images/nokogiri-test/ubuntu.erb @@ -1,4 +1,4 @@ -FROM ubuntu:jammy +FROM ubuntu:noble <%= include_file "debian-prelude.step" %> From cd19b2970337a5eb3380735d8255d944f4576c79 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 11 Dec 2024 10:14:52 -0500 Subject: [PATCH 4/5] ci: use a `ruby_versions.outputs` context for ruby version matrix --- .github/workflows/ci.yml | 97 ++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd15be67fd7..fda2d929cef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,16 +89,42 @@ jobs: - run: bundle exec rake compile -- --enable-system-libraries - run: bundle exec rake test + # + # SECTION meta - control variables + # + ruby_versions: + needs: ["basic"] + outputs: + minors: "['3.1', '3.2', '3.3']" + runs-on: ubuntu-latest + steps: + - run: echo "generating rubies ..." + + rcd_image_version: + needs: ["basic"] + runs-on: ubuntu-latest + outputs: + rcd_image_version: ${{steps.rcd_image_version.outputs.rcd_image_version}} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.3" + bundler-cache: true + bundler: latest + - id: rcd_image_version + run: bundle exec ruby -e 'require "rake_compiler_dock"; puts "rcd_image_version=#{RakeCompilerDock::IMAGE_VERSION}"' >> $GITHUB_OUTPUT + # # SECTION run the test suite across a broad matrix of rubies, configs, and systems # linux: - needs: ["basic"] + needs: ["basic", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest container: image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}} @@ -117,12 +143,12 @@ jobs: - run: bundle exec rake test:bench valgrind: - needs: ["linux"] + needs: ["linux", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} mem: ["ruby"] include: - sys: "disable" @@ -233,12 +259,12 @@ jobs: - run: bundle exec rake test:valgrind osx: - needs: ["basic"] + needs: ["basic", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -288,12 +314,12 @@ jobs: nix-shell --packages ruby bundler libxml2 libxslt --run 'bundle exec rake test' windows: - needs: ["basic"] + needs: ["basic", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: windows-2022 steps: - name: configure git crlf @@ -442,21 +468,6 @@ jobs: # # SECTION the end-to-end gem installation tests # - rcd_image_version: - needs: ["basic"] - runs-on: ubuntu-latest - outputs: - rcd_image_version: ${{steps.rcd_image_version.outputs.rcd_image_version}} - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: "3.3" - bundler-cache: true - bundler: latest - - id: rcd_image_version - run: bundle exec ruby -e 'require "rake_compiler_dock"; puts "rcd_image_version=#{RakeCompilerDock::IMAGE_VERSION}"' >> $GITHUB_OUTPUT - generic-package: needs: ["rcd_image_version"] name: "generic-package" @@ -482,12 +493,12 @@ jobs: retention-days: 1 generic-linux-install: - needs: ["generic-package"] + needs: ["generic-package", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -504,12 +515,12 @@ jobs: - run: ./scripts/test-gem-install gems --${{matrix.sys}}-system-libraries generic-darwin-install: - needs: ["generic-package"] + needs: ["generic-package", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -525,12 +536,12 @@ jobs: - run: ./scripts/test-gem-install gems --${{matrix.sys}}-system-libraries generic-windows-install: - needs: ["generic-package"] + needs: ["generic-package", "ruby_versions"] strategy: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: windows-2022 steps: - uses: actions/checkout@v4 @@ -584,11 +595,11 @@ jobs: retention-days: 1 cruby-x86-linux-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -606,11 +617,11 @@ jobs: ./scripts/test-gem-install gems cruby-aarch64-linux-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -628,11 +639,11 @@ jobs: ./scripts/test-gem-install gems cruby-arm-linux-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -650,11 +661,11 @@ jobs: ./scripts/test-gem-install gems cruby-x86_64-linux-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -687,11 +698,11 @@ jobs: - run: ./scripts/test-gem-install gems cruby-x86_64-darwin-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: macos-13 steps: - uses: actions/checkout@v4 @@ -707,11 +718,11 @@ jobs: - run: ./scripts/test-gem-install gems cruby-arm64-darwin-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: macos-14 steps: - uses: actions/checkout@v4 @@ -727,11 +738,11 @@ jobs: - run: ./scripts/test-gem-install gems cruby-x64-mingw-ucrt-install: - needs: ["cruby-package"] + needs: ["cruby-package", "ruby_versions"] strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "3.3"] + ruby: ${{ fromJSON(needs.ruby_versions.outputs.minors) }} runs-on: windows-2022 steps: - uses: actions/checkout@v4 From 5830f3ddd645ee2bf58a718f464886d019dba7ec Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 11 Dec 2024 11:05:05 -0500 Subject: [PATCH 5/5] ci: bump ruby versions tested by appveyor --- appveyor.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 013ee997105..f4308eb36bc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -34,14 +34,14 @@ test_script: environment: matrix: - - ruby_version: 32 + - ruby_version: 33 INSTALL_PACKAGES: "mingw-w64-i686-libyaml" - - ruby_version: 32 + - ruby_version: 33 INSTALL_PACKAGES: "mingw-w64-i686-libxslt mingw-w64-i686-libyaml" EXTCONF_PARAMS: "--use-system-libraries" - - ruby_version: 30 + - ruby_version: 31 INSTALL_PACKAGES: "mingw-w64-i686-libyaml" - - ruby_version: 30 + - ruby_version: 31 INSTALL_PACKAGES: "mingw-w64-i686-libxslt mingw-w64-i686-libyaml" EXTCONF_PARAMS: "--use-system-libraries"