From 9eb9a67770799f7258ba9d3502557ed5f6dc8cb7 Mon Sep 17 00:00:00 2001 From: Leo Arnold Date: Tue, 5 May 2026 14:21:13 +0200 Subject: [PATCH] Test against Rails 8.1 --- .github/workflows/ci.yml | 34 ++++++++++++++-------------------- Appraisals | 19 ++++++++++++++++++- Gemfile | 6 +++++- gemfiles/rails_5.2.gemfile | 20 ++++++++++++++++++++ gemfiles/rails_6.1.gemfile | 8 +++++--- gemfiles/rails_7.0.gemfile | 8 +++++--- gemfiles/rails_7.1.gemfile | 8 +++++--- gemfiles/rails_7.2.gemfile | 6 ++++-- gemfiles/rails_8.0.gemfile | 6 ++++-- gemfiles/rails_8.1.gemfile | 18 ++++++++++++++++++ gemfiles/rails_edge.gemfile | 6 ++++-- 11 files changed, 102 insertions(+), 37 deletions(-) create mode 100644 gemfiles/rails_5.2.gemfile create mode 100644 gemfiles/rails_8.1.gemfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68d17e1c..74977aea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,18 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.4', '3.3', '3.2', '3.1'] - rails: ['6.1', '7.0', '7.1', '7.2', '8.0'] + ruby: ['4.0', '3.4', '3.3', '3.2'] + rails: ['7.0', '7.1', '7.2', '8.0', '8.1'] channel: ['stable'] include: + - ruby: '2.7' + rails: '5.2' + channel: 'stable' + - ruby: '3.1' + rails: '6.1' + channel: 'stable' + - ruby: 'ruby-head' rails: 'edge' channel: 'experimental' @@ -27,41 +34,28 @@ jobs: rails: '7.1' channel: 'experimental' - - ruby: '3.4' + - ruby: '4.0' rails: 'edge' channel: 'experimental' - - ruby: '3.3' + - ruby: '3.4' rails: 'edge' channel: 'experimental' - - ruby: '3.2' + - ruby: '3.3' rails: 'edge' channel: 'experimental' - exclude: - - ruby: '3.4' - rails: '6.1' - - - ruby: '3.3' - rails: '6.1' - - - ruby: '3.2' - rails: '6.1' - - - ruby: '3.1' - rails: '8.0' - continue-on-error: ${{ matrix.channel != 'stable' }} env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Ruby ${{ matrix.ruby }} uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # 'bundle install' and cache - rubygems: ${{ matrix.ruby == '2.5' && 'default' || 'latest' }} + rubygems: 'latest' - name: Copy config file run: cp spec/support/sample.config.yml spec/support/config.yml - name: Run tests diff --git a/Appraisals b/Appraisals index 2ae5323d..37d66b05 100644 --- a/Appraisals +++ b/Appraisals @@ -1,11 +1,20 @@ +appraise "rails-5.2" do + gem "rails", "~> 5.2.0" + gem "sqlite3", "~> 1.5" +end + appraise "rails-6.1" do gem "rails", "~> 6.1.0" gem "sqlite3", "~> 1.5" + + gem "concurrent-ruby", "1.3.4" end appraise "rails-7.0" do gem "rails", "~> 7.0.0" gem "sqlite3", "~> 1.7" + + gem "concurrent-ruby", "1.3.4" end appraise "rails-7.1" do @@ -14,7 +23,15 @@ appraise "rails-7.1" do end appraise "rails-7.2" do - gem "rails", "~> 7.2.0.beta2" + gem "rails", "~> 7.2.0" +end + +appraise "rails-8.0" do + gem "rails", "~> 8.0.0" +end + +appraise "rails-8.1" do + gem "rails", "~> 8.1.0" end appraise "rails-edge" do diff --git a/Gemfile b/Gemfile index f0503256..9e34cae1 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,11 @@ gemspec gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" -gem "rails", "~>5.2" +gem "base64" +gem "benchmark" +gem "bigdecimal" +gem "logger" +gem "mutex_m" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_5.2.gemfile b/gemfiles/rails_5.2.gemfile new file mode 100644 index 00000000..18f921e6 --- /dev/null +++ b/gemfiles/rails_5.2.gemfile @@ -0,0 +1,20 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" +gem "base64" +gem "benchmark" +gem "bigdecimal" +gem "logger" +gem "mutex_m" +gem "rails", "~> 5.2.0" +gem "pg", "~> 1.1.0" +gem "sqlite3", "~> 1.3.0" + +group :test do + gem "simplecov", require: false + gem "codecov", require: false +end + +gemspec path: "../" diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile index 26989b39..36184a03 100644 --- a/gemfiles/rails_6.1.gemfile +++ b/gemfiles/rails_6.1.gemfile @@ -3,12 +3,14 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" +gem "base64" +gem "benchmark" +gem "bigdecimal" +gem "logger" +gem "mutex_m" gem "rails", "~> 6.1.0" gem "sqlite3", "~> 1.5" gem "concurrent-ruby", "1.3.4" -gem "logger" -gem "mutex_m" -gem "bigdecimal" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index 2dfa3781..5b7f1203 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -3,12 +3,14 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" +gem "base64" +gem "benchmark" +gem "bigdecimal" +gem "logger" +gem "mutex_m" gem "rails", "~> 7.0.0" gem "sqlite3", "~> 1.7" gem "concurrent-ruby", "1.3.4" -gem "logger" -gem "mutex_m" -gem "bigdecimal" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile index d0faf8c4..cdbbb9d9 100644 --- a/gemfiles/rails_7.1.gemfile +++ b/gemfiles/rails_7.1.gemfile @@ -3,11 +3,13 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" -gem "rails", "~> 7.1.0" -gem "sqlite3", "~> 1.7" +gem "base64" +gem "benchmark" +gem "bigdecimal" gem "logger" gem "mutex_m" -gem "bigdecimal" +gem "rails", "~> 7.1.0" +gem "sqlite3", "~> 1.7" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_7.2.gemfile b/gemfiles/rails_7.2.gemfile index 143ebc36..27d85e76 100644 --- a/gemfiles/rails_7.2.gemfile +++ b/gemfiles/rails_7.2.gemfile @@ -3,10 +3,12 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" -gem "rails", "~> 7.2.0" +gem "base64" +gem "benchmark" +gem "bigdecimal" gem "logger" gem "mutex_m" -gem "bigdecimal" +gem "rails", "~> 7.2.0" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile index 5d8a2e83..420341db 100644 --- a/gemfiles/rails_8.0.gemfile +++ b/gemfiles/rails_8.0.gemfile @@ -3,10 +3,12 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" -gem "rails", "~> 8.0" +gem "base64" +gem "benchmark" +gem "bigdecimal" gem "logger" gem "mutex_m" -gem "bigdecimal" +gem "rails", "~> 8.0.0" group :test do gem "simplecov", require: false diff --git a/gemfiles/rails_8.1.gemfile b/gemfiles/rails_8.1.gemfile new file mode 100644 index 00000000..b592f34f --- /dev/null +++ b/gemfiles/rails_8.1.gemfile @@ -0,0 +1,18 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" +gem "base64" +gem "benchmark" +gem "bigdecimal" +gem "logger" +gem "mutex_m" +gem "rails", "~> 8.1.0" + +group :test do + gem "simplecov", require: false + gem "codecov", require: false +end + +gemspec path: "../" diff --git a/gemfiles/rails_edge.gemfile b/gemfiles/rails_edge.gemfile index edbd48d5..be618922 100644 --- a/gemfiles/rails_edge.gemfile +++ b/gemfiles/rails_edge.gemfile @@ -3,10 +3,12 @@ source "https://rubygems.org" gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner" -gem "rails", github: "rails/rails" +gem "base64" +gem "benchmark" +gem "bigdecimal" gem "logger" gem "mutex_m" -gem "bigdecimal" +gem "rails", github: "rails/rails" group :test do gem "simplecov", require: false