From 76f96ad1b8e5a98ce815fbf403d1536d41a87b67 Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Mon, 25 Dec 2023 21:06:45 -0500 Subject: [PATCH 1/3] ci: update test images to use 3.3 final --- .github/workflows/generate-ci-images.yml | 2 +- .../{mri-3.3-rc.dockerfile => mri-3.3.dockerfile} | 12 +++++++++--- oci-images/nokogiri-test/mri.erb | 2 +- rakelib/docker.rake | 8 ++++---- 4 files changed, 15 insertions(+), 9 deletions(-) rename oci-images/nokogiri-test/{mri-3.3-rc.dockerfile => mri-3.3.dockerfile} (71%) diff --git a/.github/workflows/generate-ci-images.yml b/.github/workflows/generate-ci-images.yml index d312864864..8ce393c442 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-rc", "truffle-nightly", "ubuntu"] + tag: ["alpine", "mri-3.0", "mri-3.1", "mri-3.2", "mri-3.3", "truffle-nightly", "ubuntu"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/oci-images/nokogiri-test/mri-3.3-rc.dockerfile b/oci-images/nokogiri-test/mri-3.3.dockerfile similarity index 71% rename from oci-images/nokogiri-test/mri-3.3-rc.dockerfile rename to oci-images/nokogiri-test/mri-3.3.dockerfile index caa766ef18..f7ef4ce905 100644 --- a/oci-images/nokogiri-test/mri-3.3-rc.dockerfile +++ b/oci-images/nokogiri-test/mri-3.3.dockerfile @@ -1,4 +1,4 @@ -FROM ruby:3.3-rc +FROM ruby:3.3 # include_file debian-prelude.step # -*- dockerfile -*- @@ -9,10 +9,16 @@ RUN apt-get upgrade -y RUN apt-get install -y apt-utils -# include_file debian-valgrind.step +# include_file valgrind-from-source.step # -*- dockerfile -*- -RUN apt-get install -y valgrind +RUN apt-get install -y libc6-dbg +RUN wget https://sourceware.org/pub/valgrind/valgrind-3.21.0.tar.bz2 && \ + tar -xf valgrind-3.21.0.tar.bz2 && \ + cd valgrind-3.21.0 && \ + ./configure && \ + make && \ + make install # include_file debian-libxml-et-al.step diff --git a/oci-images/nokogiri-test/mri.erb b/oci-images/nokogiri-test/mri.erb index 553666be3d..71e2134df0 100644 --- a/oci-images/nokogiri-test/mri.erb +++ b/oci-images/nokogiri-test/mri.erb @@ -2,7 +2,7 @@ FROM ruby:<%= version %> <%= include_file "debian-prelude.step" %> -<% if version == "3.2" -%> +<% if version >= "3.2" -%> <%= include_file "valgrind-from-source.step" %> <% else -%> <%= include_file "debian-valgrind.step" %> diff --git a/rakelib/docker.rake b/rakelib/docker.rake index 8cdb0ac524..db155be1aa 100644 --- a/rakelib/docker.rake +++ b/rakelib/docker.rake @@ -8,7 +8,7 @@ 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-rc"], + mri: ["3.0", "3.1", "3.2", "3.3"], truffle: ["nightly"], } @@ -74,14 +74,14 @@ module DockerHelper ruby-version: "3.1" bundler-cache: true bundler: latest - - uses: docker/setup-buildx-action@v2 - - uses: docker/login-action@v2 + - uses: docker/setup-buildx-action@v3 + - uses: docker/login-action@v3 with: registry: ghcr.io username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} - name: ${{matrix.tag}} - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: context: "." push: true From fdc21b15341892d115bd34beda0ce97254658bef Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Mon, 25 Dec 2023 21:09:55 -0500 Subject: [PATCH 2/3] ci: update pipelines to test with ruby 3.3 final --- .github/workflows/ci.yml | 42 +++++++++++++++++----------------- .github/workflows/upstream.yml | 6 ++--- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b2759979f3..a6b11853a0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,7 @@ jobs: rubocop: runs-on: ubuntu-latest container: - image: ghcr.io/sparklemotion/nokogiri-test:mri-3.2 + image: ghcr.io/sparklemotion/nokogiri-test:mri-3.3 steps: - uses: actions/checkout@v4 with: @@ -69,7 +69,7 @@ jobs: submodules: true - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.2" + ruby-version: "3.3" bundler-cache: true bundler: latest - run: bundle exec rake gumbo:test @@ -98,7 +98,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3-rc"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest container: image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}} @@ -122,11 +122,11 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2"] + ruby: ["3.0", "3.1", "3.2", "3.3"] mem: ["ruby"] include: - sys: "disable" - ruby: "3.2" + ruby: "3.3" mem: "default" runs-on: ubuntu-latest container: @@ -188,7 +188,7 @@ jobs: fail-fast: false matrix: sys: ["enable"] - ruby: ["3.2"] + ruby: ["3.3"] env: BUNDLE_GEMFILE: "Gemfile-libxml-ruby" runs-on: ubuntu-latest @@ -213,7 +213,7 @@ jobs: fail-fast: false matrix: sys: ["disable"] - ruby: ["3.2"] + ruby: ["3.3"] env: BUNDLE_GEMFILE: "Gemfile-libxml-ruby" runs-on: ubuntu-latest @@ -238,7 +238,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "3.3.0-rc1"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -263,7 +263,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "head", "mingw"] + ruby: ["3.0", "3.1", "3.2", "3.3", "mingw"] runs-on: windows-2022 steps: - name: configure git crlf @@ -364,7 +364,7 @@ jobs: fail-fast: false matrix: sys: ["disable"] - ruby: ["3.2"] + ruby: ["3.3"] runs-on: ubuntu-latest container: image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}} @@ -387,7 +387,7 @@ jobs: fail-fast: false matrix: sys: ["disable"] - ruby: ["3.2"] + ruby: ["3.3"] runs-on: ubuntu-latest container: image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}} @@ -416,7 +416,7 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.2" + ruby-version: "3.3" bundler-cache: true bundler: latest - id: rcd_image_version @@ -452,7 +452,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "head"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -474,7 +474,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.0", "3.1", "3.2", "head"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -518,7 +518,7 @@ jobs: fail-fast: false matrix: sys: ["enable", "disable"] - ruby: ["3.1", "3.2", "head"] + ruby: ["3.1", "3.2", "3.3"] runs-on: windows-2022 steps: - uses: actions/checkout@v4 @@ -577,7 +577,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3.0-rc1"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -599,7 +599,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3.0-rc1"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -621,7 +621,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "3.3.0-rc1"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -643,7 +643,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "head"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -680,7 +680,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.0", "3.1", "3.2", "head"] + ruby: ["3.0", "3.1", "3.2", "3.3"] runs-on: macos-latest steps: - uses: actions/checkout@v4 @@ -721,7 +721,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: ["3.1", "3.2", "head"] + ruby: ["3.1", "3.2", "3.3"] runs-on: windows-2022 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 197af4df0d..7822501b7e 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -31,7 +31,7 @@ jobs: submodules: true - uses: ruby/setup-ruby-pkgs@v1 with: - ruby-version: "3.2" + ruby-version: "3.3" apt-get: "autogen libtool shtool" brew: "automake autogen libtool shtool" mingw: "autotools" @@ -164,7 +164,7 @@ jobs: html5lib-tests: runs-on: ubuntu-latest container: - image: ghcr.io/sparklemotion/nokogiri-test:mri-3.2 + image: ghcr.io/sparklemotion/nokogiri-test:mri-3.3 steps: - uses: actions/checkout@v4 with: @@ -172,7 +172,7 @@ jobs: - uses: actions/cache@v3 with: path: ports - key: ports-ubuntu-3.2-${{hashFiles('dependencies.yml', 'patches/**/*.patch', 'ext/nokogiri/extconf.rb')}} + key: ports-ubuntu-3.3-${{hashFiles('dependencies.yml', 'patches/**/*.patch', 'ext/nokogiri/extconf.rb')}} - name: Update html5lib-tests run: | cd test/html5lib-tests From 68f9ef55e8a2f1178551fae3f4473f285b4c00bb Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Wed, 27 Dec 2023 13:01:02 -0500 Subject: [PATCH 3/3] test: skip enumerator test on aarch64+ruby-3.3.0 which I think is crashing because of https://bugs.ruby-lang.org/issues/20085 --- test/xml/test_node_set.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/xml/test_node_set.rb b/test/xml/test_node_set.rb index 0d72530e38..9ca385312c 100644 --- a/test/xml/test_node_set.rb +++ b/test/xml/test_node_set.rb @@ -805,6 +805,7 @@ def awesome(ns) it "returns an enumerator given no block" do skip("enumerators confuse valgrind") if i_am_running_in_valgrind skip("enumerators confuse ASan") if i_am_running_with_asan + skip("https://bugs.ruby-lang.org/issues/20085") if RUBY_DESCRIPTION.include?("aarch64") && RUBY_VERSION == "3.3.0" employees = xml.search("//employee") enum = employees.each