From f91da5ef722ff7590bd4b3ee5f6232f06d2e7bbb Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Fri, 8 Nov 2024 08:50:42 +0100 Subject: [PATCH 1/7] test against rails 8.0 --- .github/workflows/test.yml | 5 ++++ Appraisals | 5 ++++ gemfiles/rails_8.0.gemfile | 55 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+) create mode 100644 gemfiles/rails_8.0.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 882f24ee8..7cb8012e4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -58,6 +58,11 @@ jobs: orm: active_record adapter: sqlite3 asset: sprockets + - ruby: "3.3" + gemfile: gemfiles/rails_8.0.gemfile + orm: active_record + adapter: sqlite3 + asset: sprockets - ruby: "3.2" gemfile: gemfiles/composite_primary_keys.gemfile orm: active_record diff --git a/Appraisals b/Appraisals index ca42f1938..dbc495d16 100644 --- a/Appraisals +++ b/Appraisals @@ -94,6 +94,11 @@ appraise 'rails-7.2' do gem 'importmap-rails', require: false end +appraise 'rails-8.0' do + gem 'rails', '~> 8.0.0' + gem 'importmap-rails', require: false +end + appraise 'composite_primary_keys' do gem 'rails', '~> 7.0.0' diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile new file mode 100644 index 000000000..8c02a21cc --- /dev/null +++ b/gemfiles/rails_8.0.gemfile @@ -0,0 +1,55 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal", ">= 2.0" +gem "devise", "~> 4.7" +gem "net-smtp", require: false +gem "rails", "~> 8.0.0" +gem "sassc-rails", "~> 2.1" +gem "turbo-rails" +gem "vite_rails", require: false +gem "webpacker", require: false +gem "webrick" +gem "importmap-rails", require: false + +group :development, :test do + gem "pry", ">= 0.9" +end + +group :test do + gem "cancancan", "~> 3.0" + gem "carrierwave", [">= 2.0.0.rc", "< 3"] + gem "cuprite", "!= 0.15.1" + gem "database_cleaner-active_record", ">= 2.0", require: false + gem "dragonfly", "~> 1.0" + gem "factory_bot", ">= 4.2", "!= 6.4.5" + gem "generator_spec", ">= 0.8" + gem "kt-paperclip" + gem "launchy", ">= 2.2" + gem "mini_magick", ">= 3.4" + gem "pundit" + gem "rack-cache", require: "rack/cache" + gem "rspec-expectations", "!= 3.8.3" + gem "rspec-rails", ">= 4.0.0.beta2" + gem "rspec-retry" + gem "rubocop", ["~> 1.20", "!= 1.22.2"], require: false + gem "rubocop-performance", require: false + gem "shrine", "~> 3.0" + gem "simplecov", ">= 0.9", require: false + gem "simplecov-lcov", require: false + gem "timecop", ">= 0.5" + gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] +end + +group :active_record do + gem "paper_trail", ">= 12.0" + + platforms :ruby, :mswin, :mingw, :x64_mingw do + gem "mysql2", ">= 0.3.14" + gem "pg", ">= 1.0.0" + gem "sqlite3", "~> 1.3" + end +end + +gemspec path: "../" From a7f418b975cfad0ba684aa1d821d32f2b80544de Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Fri, 8 Nov 2024 09:06:08 +0100 Subject: [PATCH 2/7] allow rails 8 --- rails_admin.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rails_admin.gemspec b/rails_admin.gemspec index 1905c682f..27bc72b3d 100644 --- a/rails_admin.gemspec +++ b/rails_admin.gemspec @@ -8,7 +8,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'csv' spec.add_dependency 'kaminari', '>= 0.14', '< 2.0' spec.add_dependency 'nested_form', '~> 0.3' - spec.add_dependency 'rails', ['>= 6.0', '< 8'] + spec.add_dependency 'rails', ['>= 6.0', '< 9'] spec.add_dependency 'turbo-rails', ['>= 1.0', '< 3'] spec.add_development_dependency 'bundler', '>= 1.0' spec.authors = ['Erik Michaels-Ober', 'Bogdan Gaza', 'Petteri Kaapa', 'Benoit Benezech', 'Mitsuhiro Shibuya'] From bee353940fd79b85e914cd6b85ff024c9caf8182 Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Mon, 11 Nov 2024 08:13:46 +0100 Subject: [PATCH 3/7] Require more recent version of sqlite for rails 8 --- Gemfile | 2 +- gemfiles/rails_8.0.gemfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 904083a02..6fadf4a99 100644 --- a/Gemfile +++ b/Gemfile @@ -49,7 +49,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 1.0.0' - gem 'sqlite3', '~> 1.3' + gem 'sqlite3', '~> 2.2' end end diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile index 8c02a21cc..6e98f9dc6 100644 --- a/gemfiles/rails_8.0.gemfile +++ b/gemfiles/rails_8.0.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end end From 4c56c7b44d56c0050f39c949e613866b9d5134e7 Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Wed, 20 Nov 2024 11:32:54 +0100 Subject: [PATCH 4/7] Upgrade required sqlite version to 2.2, fix json spec --- Appraisals | 1 + gemfiles/composite_primary_keys.gemfile | 2 +- gemfiles/rails_6.0.gemfile | 2 +- gemfiles/rails_6.1.gemfile | 2 +- gemfiles/rails_7.0.gemfile | 2 +- gemfiles/rails_7.1.gemfile | 2 +- gemfiles/rails_7.2.gemfile | 2 +- gemfiles/rails_8.0.gemfile | 1 + spec/dummy_app/Gemfile | 2 +- spec/rails_admin/config/fields/types/json_spec.rb | 4 ++-- 10 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Appraisals b/Appraisals index dbc495d16..de0c2612e 100644 --- a/Appraisals +++ b/Appraisals @@ -96,6 +96,7 @@ end appraise 'rails-8.0' do gem 'rails', '~> 8.0.0' + gem 'sqlite3', '~> 2.2' gem 'importmap-rails', require: false end diff --git a/gemfiles/composite_primary_keys.gemfile b/gemfiles/composite_primary_keys.gemfile index 1ebba5c55..b8b904c75 100644 --- a/gemfiles/composite_primary_keys.gemfile +++ b/gemfiles/composite_primary_keys.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end end diff --git a/gemfiles/rails_6.0.gemfile b/gemfiles/rails_6.0.gemfile index b57ca868d..1195b9d53 100644 --- a/gemfiles/rails_6.0.gemfile +++ b/gemfiles/rails_6.0.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end platforms :jruby do diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile index 8c4b1c44c..766eebc64 100644 --- a/gemfiles/rails_6.1.gemfile +++ b/gemfiles/rails_6.1.gemfile @@ -47,7 +47,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end platforms :jruby do diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index 36f7ff8cf..2337e573e 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end platforms :jruby do diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile index 98c7769fb..bde08cdfa 100644 --- a/gemfiles/rails_7.1.gemfile +++ b/gemfiles/rails_7.1.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end end diff --git a/gemfiles/rails_7.2.gemfile b/gemfiles/rails_7.2.gemfile index f0edccff8..0713f03ca 100644 --- a/gemfiles/rails_7.2.gemfile +++ b/gemfiles/rails_7.2.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 1.3" + gem "sqlite3", "~> 2.2" end end diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile index 6e98f9dc6..bc6195ca0 100644 --- a/gemfiles/rails_8.0.gemfile +++ b/gemfiles/rails_8.0.gemfile @@ -11,6 +11,7 @@ gem "turbo-rails" gem "vite_rails", require: false gem "webpacker", require: false gem "webrick" +gem "sqlite3", "~> 2.2" gem "importmap-rails", require: false group :development, :test do diff --git a/spec/dummy_app/Gemfile b/spec/dummy_app/Gemfile index 5a16903ea..5c492dd05 100644 --- a/spec/dummy_app/Gemfile +++ b/spec/dummy_app/Gemfile @@ -14,7 +14,7 @@ group :active_record do platforms :ruby, :mswin, :mingw do gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 0.14' - gem 'sqlite3', '~> 1.3' + gem 'sqlite3', '~> 2.2' end gem 'paper_trail', '>= 12.0' diff --git a/spec/rails_admin/config/fields/types/json_spec.rb b/spec/rails_admin/config/fields/types/json_spec.rb index a1e039582..a749d9302 100644 --- a/spec/rails_admin/config/fields/types/json_spec.rb +++ b/spec/rails_admin/config/fields/types/json_spec.rb @@ -24,7 +24,7 @@ it 'returns correct value for empty json' do allow(object).to receive(:json_field) { {} } actual = field.with(bindings).formatted_value - expect(actual).to match(/{\n+}/) + expect(actual).to match(/{\n*}/) end it 'retuns correct value' do @@ -72,7 +72,7 @@ it 'returns correct value for empty json' do allow(object).to receive(:json_field) { {} } actual = field.with(bindings).export_value - expect(actual).to match(/{\n+}/) + expect(actual).to match(/{\n*}/) end it 'returns correct value' do From 6c1494584a053fd2c70cf69bffd3f28c2c1b7f06 Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Wed, 20 Nov 2024 11:45:07 +0100 Subject: [PATCH 5/7] Make sure the dummy uses sqlite3 2.2 as well --- spec/dummy_app/Gemfile.rails6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/dummy_app/Gemfile.rails6 b/spec/dummy_app/Gemfile.rails6 index 260b684c1..5b5c84534 100644 --- a/spec/dummy_app/Gemfile.rails6 +++ b/spec/dummy_app/Gemfile.rails6 @@ -13,7 +13,7 @@ group :active_record do platforms :ruby, :mswin, :mingw do gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 0.14' - gem 'sqlite3', '>= 1.3.0' + gem 'sqlite3', '~> 2.2' end gem 'paper_trail', '>= 12.0' From e8dfabbb92eff2d58369bba2e2d341d62b2e8ebd Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Thu, 21 Nov 2024 08:58:46 +0100 Subject: [PATCH 6/7] Only upgrade sqlite3 for rails 8 --- Appraisals | 7 ++++++- Gemfile | 2 +- gemfiles/composite_primary_keys.gemfile | 2 +- gemfiles/rails_6.0.gemfile | 2 +- gemfiles/rails_6.1.gemfile | 2 +- gemfiles/rails_7.0.gemfile | 2 +- gemfiles/rails_7.1.gemfile | 2 +- gemfiles/rails_7.2.gemfile | 2 +- gemfiles/rails_8.0.gemfile | 1 - 9 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Appraisals b/Appraisals index de0c2612e..f6afa83e4 100644 --- a/Appraisals +++ b/Appraisals @@ -96,8 +96,13 @@ end appraise 'rails-8.0' do gem 'rails', '~> 8.0.0' - gem 'sqlite3', '~> 2.2' gem 'importmap-rails', require: false + + group :active_record do + platforms :ruby, :mswin, :mingw, :x64_mingw do + gem 'sqlite3', '~> 2.2' + end + end end appraise 'composite_primary_keys' do diff --git a/Gemfile b/Gemfile index 6fadf4a99..0965e94b4 100644 --- a/Gemfile +++ b/Gemfile @@ -49,7 +49,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 1.0.0' - gem 'sqlite3', '~> 2.2' + gem 'sqlite3', '>= 1.3.0' end end diff --git a/gemfiles/composite_primary_keys.gemfile b/gemfiles/composite_primary_keys.gemfile index b8b904c75..9bd5dd820 100644 --- a/gemfiles/composite_primary_keys.gemfile +++ b/gemfiles/composite_primary_keys.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end end diff --git a/gemfiles/rails_6.0.gemfile b/gemfiles/rails_6.0.gemfile index 1195b9d53..75954b32e 100644 --- a/gemfiles/rails_6.0.gemfile +++ b/gemfiles/rails_6.0.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end platforms :jruby do diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile index 766eebc64..cdf08f0c8 100644 --- a/gemfiles/rails_6.1.gemfile +++ b/gemfiles/rails_6.1.gemfile @@ -47,7 +47,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end platforms :jruby do diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index 2337e573e..2275d525a 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end platforms :jruby do diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile index bde08cdfa..b9c62f5b8 100644 --- a/gemfiles/rails_7.1.gemfile +++ b/gemfiles/rails_7.1.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end end diff --git a/gemfiles/rails_7.2.gemfile b/gemfiles/rails_7.2.gemfile index 0713f03ca..94dc6a1fa 100644 --- a/gemfiles/rails_7.2.gemfile +++ b/gemfiles/rails_7.2.gemfile @@ -48,7 +48,7 @@ group :active_record do platforms :ruby, :mswin, :mingw, :x64_mingw do gem "mysql2", ">= 0.3.14" gem "pg", ">= 1.0.0" - gem "sqlite3", "~> 2.2" + gem "sqlite3", ">= 1.3.0" end end diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile index bc6195ca0..6e98f9dc6 100644 --- a/gemfiles/rails_8.0.gemfile +++ b/gemfiles/rails_8.0.gemfile @@ -11,7 +11,6 @@ gem "turbo-rails" gem "vite_rails", require: false gem "webpacker", require: false gem "webrick" -gem "sqlite3", "~> 2.2" gem "importmap-rails", require: false group :development, :test do From 3e3cde9a653fb67a83c85717dce80efd7c3aab55 Mon Sep 17 00:00:00 2001 From: Jan-Willem van der Meer Date: Thu, 21 Nov 2024 10:18:01 +0100 Subject: [PATCH 7/7] Don't use the newer version of sqlite in the dummy app --- spec/dummy_app/Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/dummy_app/Gemfile b/spec/dummy_app/Gemfile index 5c492dd05..5dba7ea5f 100644 --- a/spec/dummy_app/Gemfile +++ b/spec/dummy_app/Gemfile @@ -14,7 +14,7 @@ group :active_record do platforms :ruby, :mswin, :mingw do gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 0.14' - gem 'sqlite3', '~> 2.2' + gem 'sqlite3', '>= 1.3.0' end gem 'paper_trail', '>= 12.0'