From 20d7cd03ca6c3986534ed6e5b05d80c777f7e6f6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 19:09:51 +0000 Subject: [PATCH 01/12] Bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 07b38878..8096181a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f8f3b3ba..8fca3938 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: - name: Install libidn run: sudo apt-get install libidn11-dev - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67d6da8d..d4340fe3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: env: IDNA_MODE: ${{ matrix.idna_mode }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install libidn run: sudo apt-get install libidn11-dev @@ -54,7 +54,7 @@ jobs: COVERALLS_DEBUG: true CI_BUILD_NUMBER: ${{ github.run_id }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install libidn run: sudo apt-get install libidn11-dev @@ -122,7 +122,7 @@ jobs: # https://github.com/jruby/jruby/issues/7182#issuecomment-1112953015 JAVA_OPTS: -Djdk.io.File.enableADS=true steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install libidn (Ubuntu) if: startsWith(matrix.os, 'ubuntu') From dae61c2b3ad73a726a1c004840074dccb9e6ac09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 13:38:14 +0000 Subject: [PATCH 02/12] Bump github/codeql-action from 3 to 4 Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v3...v4) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8096181a..d4ce1b2d 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -29,14 +29,14 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v4 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 From e8fec675434e70861234d2a9b4e7365550123123 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Mon, 10 Nov 2025 20:10:59 +0100 Subject: [PATCH 03/12] CI: Use `ubuntu-latest` for release workflow So we don't have to bump it in this workflow, it should just always work. --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8fca3938..c1420471 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: jobs: release: if: github.repository == 'sporkmonger/addressable' - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest permissions: id-token: write # for trusted publishing steps: From 7784a7a0b52c823df4ff5773368bee3360522372 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Mon, 10 Nov 2025 20:15:19 +0100 Subject: [PATCH 04/12] CI: Add Ruby 3.4 job --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d4340fe3..fb4c4cae 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,7 @@ jobs: - 3.1 - 3.2 - 3.3 + - 3.4 - jruby-9.1 - jruby-9.2 - jruby-9.3 From 486f8c46afeb84d0e0a5290cb3310682f6141a19 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Mon, 10 Nov 2025 20:16:59 +0100 Subject: [PATCH 05/12] CI: remove `windows-2019` job, has reached EoL > Windows Server 2019 has been retired. The Windows Server 2019 image > has been removed as of 2025-06-30. For more details, see > https://github.com/actions/runner-images/issues/12045 --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fb4c4cae..90b4de15 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -108,7 +108,6 @@ jobs: # macOS - { os: macos-13, ruby: 3.1 } # Windows - - { os: windows-2019, ruby: 3.1 } - { os: windows-2022, ruby: 3.1 } - { os: windows-2022, ruby: jruby-9.3 } # allowed to fail From 6be5290be15c90b784f3d757d11626660e4596b8 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Mon, 10 Nov 2025 20:22:00 +0100 Subject: [PATCH 06/12] CI: replace `macos-13` job, EoL soon > The macOS-13 based runner images are being deprecated, consider > switching to macOS-15 (macos-15-intel) or macOS 15 arm64 (macos-latest) > instead. For more details see https://github.com/actions/runner-images/issues/13046 --- .github/workflows/test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 90b4de15..772ec020 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -106,7 +106,9 @@ jobs: # Ubuntu - { os: ubuntu-22.04, ruby: 3.1 } # macOS - - { os: macos-13, ruby: 3.1 } + - { os: macos-14, ruby: 3.1 } # arm64 + - { os: macos-15, ruby: 3.1 } # arm64 + - { os: macos-15-intel, ruby: 3.1 } # EoL August 2027 (https://github.com/actions/runner-images/issues/13046) # Windows - { os: windows-2022, ruby: 3.1 } - { os: windows-2022, ruby: jruby-9.3 } From 2d934a90f74fd4598cd05582ee7c5a24b87c76a0 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Mon, 10 Nov 2025 20:31:31 +0100 Subject: [PATCH 07/12] CI: `Ractor` fix for Ruby 4.0 Close https://github.com/sporkmonger/addressable/issues/556 --- spec/addressable/uri_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/addressable/uri_spec.rb b/spec/addressable/uri_spec.rb index 07818490..68ee3031 100644 --- a/spec/addressable/uri_spec.rb +++ b/spec/addressable/uri_spec.rb @@ -6816,9 +6816,10 @@ def to_str describe Addressable::URI, "when initialized in a non-main `Ractor`" do it "should have the same value as if used in the main `Ractor`" do pending("Ruby 3.0+ for `Ractor` support") unless defined?(Ractor) + value_method = RUBY_VERSION >= "3.5.0" ? :value : :take # see https://github.com/ruby/ruby/pull/13445 main = Addressable::URI.parse("http://example.com") expect( - Ractor.new { Addressable::URI.parse("http://example.com") }.take + Ractor.new { Addressable::URI.parse("http://example.com") }.public_send(value_method) ).to eq(main) end end From 97677ec0086bc7825d4068f0468b8d0c4407bc59 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 11 Nov 2025 02:22:31 +0100 Subject: [PATCH 08/12] CI: less `ubuntu-22.04`, more `ubuntu-24.04` --- .github/workflows/test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 772ec020..c0f0bcc7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: matrix: ruby: [2.7] idna_mode: [native, pure] - os: [ubuntu-22.04] + os: [ubuntu-latest] env: IDNA_MODE: ${{ matrix.idna_mode }} steps: @@ -46,7 +46,7 @@ jobs: fail-fast: false matrix: ruby: [2.7] - os: [ubuntu-22.04] + os: [ubuntu-latest] env: BUNDLE_WITHOUT: development COVERALLS_SERVICE_NAME: github @@ -96,13 +96,13 @@ jobs: - truffleruby-22.2 - truffleruby-22.3 os: - - ubuntu-22.04 + - ubuntu-24.04 gemfile: - Gemfile include: - - { os: ubuntu-22.04, ruby: 2.7, gemfile: gemfiles/public_suffix_2.rb } - - { os: ubuntu-22.04, ruby: 2.7, gemfile: gemfiles/public_suffix_3.rb } - - { os: ubuntu-22.04, ruby: 2.7, gemfile: gemfiles/public_suffix_4.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_2.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_3.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_4.rb } # Ubuntu - { os: ubuntu-22.04, ruby: 3.1 } # macOS @@ -113,9 +113,9 @@ jobs: - { os: windows-2022, ruby: 3.1 } - { os: windows-2022, ruby: jruby-9.3 } # allowed to fail - - { os: ubuntu-22.04, ruby: head, gemfile: Gemfile, allow-failure: true } - - { os: ubuntu-22.04, ruby: jruby-head, gemfile: Gemfile, allow-failure: true } - - { os: ubuntu-22.04, ruby: truffleruby-head, gemfile: Gemfile, allow-failure: true } + - { os: ubuntu-24.04, ruby: head, gemfile: Gemfile, allow-failure: true } + - { os: ubuntu-24.04, ruby: jruby-head, gemfile: Gemfile, allow-failure: true } + - { os: ubuntu-24.04, ruby: truffleruby-head, gemfile: Gemfile, allow-failure: true } env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} BUNDLE_WITHOUT: development:coverage From 240189bc70034babed683df969b1c3bbfd5fd9ca Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 11 Nov 2025 02:24:38 +0100 Subject: [PATCH 09/12] CI: test with modern JVM Rubies --- .github/workflows/test.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c0f0bcc7..35ff6217 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -89,12 +89,10 @@ jobs: - 3.2 - 3.3 - 3.4 - - jruby-9.1 - - jruby-9.2 - - jruby-9.3 - jruby-9.4 - - truffleruby-22.2 - - truffleruby-22.3 + - jruby-10.0 + - truffleruby-24 + - truffleruby-25 os: - ubuntu-24.04 gemfile: @@ -111,7 +109,7 @@ jobs: - { os: macos-15-intel, ruby: 3.1 } # EoL August 2027 (https://github.com/actions/runner-images/issues/13046) # Windows - { os: windows-2022, ruby: 3.1 } - - { os: windows-2022, ruby: jruby-9.3 } + - { os: windows-2022, ruby: jruby-10.0 } # allowed to fail - { os: ubuntu-24.04, ruby: head, gemfile: Gemfile, allow-failure: true } - { os: ubuntu-24.04, ruby: jruby-head, gemfile: Gemfile, allow-failure: true } From c69d0b6607b84394ec66e35249d33d9ad376a916 Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 11 Nov 2025 02:27:03 +0100 Subject: [PATCH 10/12] CI: use latest stable ruby outside the version matrix https://github.com/ruby/setup-ruby?tab=readme-ov-file#supported-version-syntax --- .github/workflows/test.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 35ff6217..a7d77d9f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [2.7] + ruby: [ruby] idna_mode: [native, pure] os: [ubuntu-latest] env: @@ -45,7 +45,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [2.7] + ruby: [ruby] os: [ubuntu-latest] env: BUNDLE_WITHOUT: development @@ -98,18 +98,18 @@ jobs: gemfile: - Gemfile include: - - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_2.rb } - - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_3.rb } - - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_4.rb } + - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_2.rb } + - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_3.rb } + - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_4.rb } # Ubuntu - - { os: ubuntu-22.04, ruby: 3.1 } + - { os: ubuntu-22.04, ruby: ruby } # macOS - - { os: macos-14, ruby: 3.1 } # arm64 - - { os: macos-15, ruby: 3.1 } # arm64 - - { os: macos-15-intel, ruby: 3.1 } # EoL August 2027 (https://github.com/actions/runner-images/issues/13046) + - { os: macos-14, ruby: ruby } # arm64 + - { os: macos-15, ruby: ruby } # arm64 + - { os: macos-15-intel, ruby: ruby } # EoL August 2027 (https://github.com/actions/runner-images/issues/13046) # Windows - - { os: windows-2022, ruby: 3.1 } - - { os: windows-2022, ruby: jruby-10.0 } + - { os: windows-2022, ruby: ruby } + - { os: windows-2022, ruby: jruby } # allowed to fail - { os: ubuntu-24.04, ruby: head, gemfile: Gemfile, allow-failure: true } - { os: ubuntu-24.04, ruby: jruby-head, gemfile: Gemfile, allow-failure: true } From df75f0ccd9d61d2333eb02dd7e5cd8c4e2896bfb Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 11 Nov 2025 02:46:06 +0100 Subject: [PATCH 11/12] CI: fix `profile:template_match_memory` task for Ruby >2.7 --- tasks/profile.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/profile.rake b/tasks/profile.rake index b697d489..60d7a666 100644 --- a/tasks/profile.rake +++ b/tasks/profile.rake @@ -20,7 +20,7 @@ namespace :profile do puts "\n\n" if ENV["CI"] - report.pretty_print(print_options) + report.pretty_print(**print_options) else t_allocated = report.scale_bytes(report.total_allocated_memsize) t_retained = report.scale_bytes(report.total_retained_memsize) From f6423464f8501b5b9f365bdff19c5685520d052a Mon Sep 17 00:00:00 2001 From: Patrik Ragnarsson Date: Tue, 11 Nov 2025 02:52:14 +0100 Subject: [PATCH 12/12] CI: restore older rubies for `public_suffix` jobs These public_suffix versions (2-4) was released 2016-2022, which corresponds to Ruby 2.1-3.1. --- .github/workflows/test.yml | 7 ++++--- gemfiles/public_suffix_5.rb | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 gemfiles/public_suffix_5.rb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a7d77d9f..f0c591f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -98,9 +98,10 @@ jobs: gemfile: - Gemfile include: - - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_2.rb } - - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_3.rb } - - { os: ubuntu-24.04, ruby: ruby, gemfile: gemfiles/public_suffix_4.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_2.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_3.rb } + - { os: ubuntu-24.04, ruby: 2.7, gemfile: gemfiles/public_suffix_4.rb } + - { os: ubuntu-24.04, ruby: 3.1, gemfile: gemfiles/public_suffix_5.rb } # Ubuntu - { os: ubuntu-22.04, ruby: ruby } # macOS diff --git a/gemfiles/public_suffix_5.rb b/gemfiles/public_suffix_5.rb new file mode 100644 index 00000000..bf8db849 --- /dev/null +++ b/gemfiles/public_suffix_5.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +# Assumes this gemfile is used from the project root +eval_gemfile "../Gemfile" + +gem "public_suffix", "~> 5.0"