From a74c2fb3d85588fd9f1b37c3a4ce7b35d11e3f5a Mon Sep 17 00:00:00 2001 From: Eike Send Date: Thu, 24 Sep 2026 17:53:06 +0200 Subject: [PATCH 1/3] Update to ruby 4.0.7 and run tests on all current ruby versions --- .github/workflows/ci.yml | 19 ++++++++++++++----- .ruby-version | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1de86819..dcf2f950 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,7 @@ on: [push] jobs: linting: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Pull repository @@ -17,17 +17,26 @@ jobs: run: | bundle exec rubocop --ignore-unrecognized-cops - backend-services: - runs-on: ubuntu-22.04 + tests: + runs-on: ubuntu-latest + timeout-minutes: 3 + name: Ruby ${{ matrix.ruby }} + strategy: + matrix: + ruby: + - '3.3.12' + - '3.4.11' + - '4.0.7' steps: - name: Pull repository uses: actions/checkout@v7 - - name: Bundle install and cache result + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: + ruby-version: ${{ matrix.ruby }} bundler-cache: true - - name: Run rspec + - name: Run rspec tests run: | source .github/ci_workflow.env bundle exec rspec diff --git a/.ruby-version b/.ruby-version index a0891f56..43beb400 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.4 +4.0.7 From 2bedcf003c80a7ff16e5b4ec680b1ea1ad491bdc Mon Sep 17 00:00:00 2001 From: Eike Send Date: Thu, 24 Sep 2026 17:55:47 +0200 Subject: [PATCH 2/3] Update minitest --- Gemfile.lock | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dfea66ed..9c65ea1e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,7 +106,9 @@ GEM net-smtp method_source (1.0.0) mini_mime (1.1.5) - minitest (5.26.0) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) multi_xml (0.6.0) mutex_m (0.3.0) nenv (0.3.0) @@ -246,4 +248,4 @@ DEPENDENCIES webmock BUNDLED WITH - 2.5.15 + 4.0.20 From 2225b989601f1e67a474cbde2e00f96f34e5caf0 Mon Sep 17 00:00:00 2001 From: Eike Send Date: Thu, 24 Sep 2026 18:09:42 +0200 Subject: [PATCH 3/3] Fix NoMethodError message regex for Ruby 3.4+ quoting change --- spec/ioki/endpoints_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/ioki/endpoints_spec.rb b/spec/ioki/endpoints_spec.rb index ee10da0f..3fcca5ca 100644 --- a/spec/ioki/endpoints_spec.rb +++ b/spec/ioki/endpoints_spec.rb @@ -18,7 +18,7 @@ it 'raises an error if the argument does not respond_to the interpolation method' do expect { described_class.url_elements([:id], 1) } - .to raise_error(NoMethodError, /undefined method `id' for an instance of Integer/) + .to raise_error(NoMethodError, /undefined method [`']id['"]? for an instance of Integer/) end it 'raises an error if the path consists of something else than Strings and Symbols' do