diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68d17e1..74977ae 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 2ae5323..37d66b0 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 f050325..9e34cae 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 0000000..18f921e --- /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 26989b3..36184a0 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 2dfa378..5b7f120 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 d0faf8c..cdbbb9d 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 143ebc3..27d85e7 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 5d8a2e8..420341d 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 0000000..b592f34 --- /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 edbd48d..be61892 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