From 4871749aee18c771b2fd23e278016c574c7dee33 Mon Sep 17 00:00:00 2001 From: Maciej Mensfeld Date: Fri, 26 Dec 2025 15:04:40 +0100 Subject: [PATCH 1/2] Upgrade Ruby to 4.0.0 - Update default Ruby version in .ruby-version files to 4.0.0 - Add Ruby 4.0 to CI matrix (keeping 3.2-4.0 range) - Move coverage reporting to Ruby 4.0 --- .github/workflows/ci.yml | 6 ++++-- v2.5-non-rails/.ruby-version | 2 +- v2.5-rails/.ruby-version | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ad1da24..d97837e7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,11 +36,12 @@ jobs: fail-fast: false matrix: ruby: + - '4.0' - '3.4' - '3.3' - '3.2' include: - - ruby: '3.4' + - ruby: '4.0' coverage: 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 @@ -95,11 +96,12 @@ jobs: fail-fast: false matrix: ruby: + - '4.0' - '3.4' - '3.3' - '3.2' include: - - ruby: '3.4' + - ruby: '4.0' coverage: 'true' steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 diff --git a/v2.5-non-rails/.ruby-version b/v2.5-non-rails/.ruby-version index 2aa51319..fcdb2e10 100644 --- a/v2.5-non-rails/.ruby-version +++ b/v2.5-non-rails/.ruby-version @@ -1 +1 @@ -3.4.7 +4.0.0 diff --git a/v2.5-rails/.ruby-version b/v2.5-rails/.ruby-version index 2aa51319..fcdb2e10 100644 --- a/v2.5-rails/.ruby-version +++ b/v2.5-rails/.ruby-version @@ -1 +1 @@ -3.4.7 +4.0.0 From 8c80337ce493b47cf3d88a1d6477f9cba7d5c364 Mon Sep 17 00:00:00 2001 From: Maciej Mensfeld Date: Fri, 26 Dec 2025 15:13:16 +0100 Subject: [PATCH 2/2] Add ostruct gem for Ruby 4.0 compatibility ostruct was removed from default gems in Ruby 4.0.0 --- v2.5-non-rails/Gemfile | 1 + v2.5-non-rails/Gemfile.lock | 2 ++ v2.5-rails/Gemfile | 1 + v2.5-rails/Gemfile.lock | 2 ++ 4 files changed, 6 insertions(+) diff --git a/v2.5-non-rails/Gemfile b/v2.5-non-rails/Gemfile index 7c225b63..7cbcf26b 100644 --- a/v2.5-non-rails/Gemfile +++ b/v2.5-non-rails/Gemfile @@ -4,6 +4,7 @@ source 'https://rubygems.org' # ActiveSupport and rexml are only used for XML support gem 'activesupport' +gem 'ostruct' gem 'rake' gem 'rexml' diff --git a/v2.5-non-rails/Gemfile.lock b/v2.5-non-rails/Gemfile.lock index eb3c49bc..e78e6da5 100644 --- a/v2.5-non-rails/Gemfile.lock +++ b/v2.5-non-rails/Gemfile.lock @@ -81,6 +81,7 @@ GEM logger (1.7.0) mini_portile2 (2.8.9) minitest (5.27.0) + ostruct (0.6.3) rake (13.3.1) rexml (3.4.4) rspec (3.13.2) @@ -130,6 +131,7 @@ DEPENDENCIES byebug karafka karafka-testing + ostruct rake rexml rspec diff --git a/v2.5-rails/Gemfile b/v2.5-rails/Gemfile index 07b77539..608bb96d 100644 --- a/v2.5-rails/Gemfile +++ b/v2.5-rails/Gemfile @@ -4,6 +4,7 @@ source 'https://rubygems.org' gem 'karafka' gem 'karafka-web' +gem 'ostruct' gem 'puma' gem 'rails', '~> 8.0' gem 'sqlite3', '2.8.1' diff --git a/v2.5-rails/Gemfile.lock b/v2.5-rails/Gemfile.lock index 9bc8ab00..9c7b3b8d 100644 --- a/v2.5-rails/Gemfile.lock +++ b/v2.5-rails/Gemfile.lock @@ -198,6 +198,7 @@ GEM racc (~> 1.4) nokogiri (1.18.10-x86_64-linux-musl) racc (~> 1.4) + ostruct (0.6.3) pp (0.6.3) prettyprint prettyprint (0.2.0) @@ -316,6 +317,7 @@ DEPENDENCIES karafka karafka-testing karafka-web + ostruct puma rails (~> 8.0) rspec