From 92bce3562c1718ccad08efd0b87eca8015399926 Mon Sep 17 00:00:00 2001 From: Shinichi Maeshima Date: Fri, 10 Apr 2026 17:02:39 +0900 Subject: [PATCH 1/2] Add Ruby4.0 and Rails8.1 to the CI matrix also updated actions/checkout to the latest version. --- .github/workflows/ruby.yml | 16 +++++++++++++--- README.md | 2 +- gemfiles/rails_8.1.gemfile | 17 +++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 gemfiles/rails_8.1.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 6d45e4e..a1514ec 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -28,30 +28,40 @@ jobs: # | 7.0 | 4/2025 | 2.7 | 3.3 | # | 7.1 | 10/2025 | 2.7 | | # | 7.2 | 8/2026 | 3.1 | | - # | 8.0 | ~11/2026 | 3.2 | | - ruby: ['3.0', '3.1', '3.2', '3.3', '3.4'] + # | 8.0 | 11/2026 | 3.2 | | + # | 8.1 | 10/2027 | 3.2 | | + ruby: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0'] gemfile: - 'gemfiles/rails_6.1.gemfile' - 'gemfiles/rails_7.0.gemfile' - 'gemfiles/rails_7.1.gemfile' - 'gemfiles/rails_7.2.gemfile' - 'gemfiles/rails_8.0.gemfile' + - 'gemfiles/rails_8.1.gemfile' exclude: - ruby: '3.0' gemfile: 'gemfiles/rails_7.2.gemfile' - ruby: '3.0' gemfile: 'gemfiles/rails_8.0.gemfile' + - ruby: '3.0' + gemfile: 'gemfiles/rails_8.1.gemfile' - ruby: '3.1' gemfile: 'gemfiles/rails_8.0.gemfile' + - ruby: '3.1' + gemfile: 'gemfiles/rails_8.1.gemfile' - ruby: '3.4' gemfile: 'gemfiles/rails_6.1.gemfile' - ruby: '3.4' gemfile: 'gemfiles/rails_7.0.gemfile' + - ruby: '4.0' + gemfile: 'gemfiles/rails_6.1.gemfile' + - ruby: '4.0' + gemfile: 'gemfiles/rails_7.0.gemfile' env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} name: Ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/README.md b/README.md index 148b671..07fc206 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Requirements: - v1.x: Ruby >= 1.9.3, Rails >= 2.2.2 - v2.x, v3.x: Ruby >= 2.4, Rails >= 5 -- upcoming: Ruby >= 3.0, Rails >= 6.1 +- v4.x: Ruby >= 3.0, Rails >= 6.1 ```ruby gem 'active_hash', '~> 1.5.3' diff --git a/gemfiles/rails_8.1.gemfile b/gemfiles/rails_8.1.gemfile new file mode 100644 index 0000000..673479d --- /dev/null +++ b/gemfiles/rails_8.1.gemfile @@ -0,0 +1,17 @@ +source 'http://rubygems.org/' + +gem 'activerecord', '~> 8.1.0' +gem 'rspec', '~> 3.13' +gem 'rake', '~> 13.2' +gem 'json' +gem 'test-unit' + +platform :jruby do + gem 'activerecord-jdbcsqlite3-adapter', '>= 1.3.6' +end + +platform :ruby do + gem 'sqlite3' +end + +gemspec :path => '../' From 532f7dafd8ee7dc2f348c965cd21db0232b7ff0c Mon Sep 17 00:00:00 2001 From: Shinichi Maeshima Date: Mon, 13 Apr 2026 18:36:30 +0900 Subject: [PATCH 2/2] Limit the test matrix to only the minimal combinations of Ruby and Rails --- .github/workflows/ruby.yml | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index a1514ec..b2f754c 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -30,33 +30,16 @@ jobs: # | 7.2 | 8/2026 | 3.1 | | # | 8.0 | 11/2026 | 3.2 | | # | 8.1 | 10/2027 | 3.2 | | - ruby: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0'] - gemfile: - - 'gemfiles/rails_6.1.gemfile' - - 'gemfiles/rails_7.0.gemfile' - - 'gemfiles/rails_7.1.gemfile' - - 'gemfiles/rails_7.2.gemfile' - - 'gemfiles/rails_8.0.gemfile' - - 'gemfiles/rails_8.1.gemfile' - exclude: - - ruby: '3.0' - gemfile: 'gemfiles/rails_7.2.gemfile' - - ruby: '3.0' - gemfile: 'gemfiles/rails_8.0.gemfile' - - ruby: '3.0' - gemfile: 'gemfiles/rails_8.1.gemfile' - - ruby: '3.1' - gemfile: 'gemfiles/rails_8.0.gemfile' - - ruby: '3.1' - gemfile: 'gemfiles/rails_8.1.gemfile' - - ruby: '3.4' - gemfile: 'gemfiles/rails_6.1.gemfile' - - ruby: '3.4' - gemfile: 'gemfiles/rails_7.0.gemfile' - - ruby: '4.0' - gemfile: 'gemfiles/rails_6.1.gemfile' - - ruby: '4.0' - gemfile: 'gemfiles/rails_7.0.gemfile' + include: + - { ruby: '3.0', gemfile: 'gemfiles/rails_6.1.gemfile' } + - { ruby: '3.1', gemfile: 'gemfiles/rails_7.0.gemfile' } + - { ruby: '3.2', gemfile: 'gemfiles/rails_7.1.gemfile' } + - { ruby: '3.2', gemfile: 'gemfiles/rails_7.2.gemfile' } + # Active Rails + - { ruby: '3.3', gemfile: 'gemfiles/rails_8.0.gemfile' } + - { ruby: '3.4', gemfile: 'gemfiles/rails_8.0.gemfile' } + - { ruby: '3.4', gemfile: 'gemfiles/rails_8.1.gemfile' } + - { ruby: '4.0', gemfile: 'gemfiles/rails_8.1.gemfile' } env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} name: Ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}