Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -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'

Expand Down
55 changes: 55 additions & 0 deletions gemfiles/rails_8.0.gemfile
Original file line number Diff line number Diff line change
@@ -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"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/railsadminteam/rails_admin/actions/runs/11738544873/job/32701267375?pr=3702#step:7:30

From Rails 8.0, it looks like the version of sqlite3 needs to be upgraded to v2.1 or higher.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indeed, I upgraded it, and now it seems to work

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like sqlite3 2.2 requires ruby 3.1.

What would be the best approach? Require ruby 3.1 for the next release, or stay backwards compatible?

Copy link

@k-tsuchiya-jp k-tsuchiya-jp Nov 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jewilmeer
Thank you for your support with Rails 8.0! It’s really helpful!

Seems like sqlite3 2.2 requires ruby 3.1.

This might help you.
In RailsAdmin, we use gem 'appraisal' to manage gems for each Rails version.
https://github.com/thoughtbot/appraisal?tab=readme-ov-file#setup

For versions other than Rails 8.0, there are no issues with the traditional gem versions, and no changes to Gemfile are necessary.
Instead, since bee3539#diff-4fc39a0aadaf0ef5048e145a93b08c08740e7efd36c6890426664cea221a622eR51 is explicitly mentioned, this alone should make the Rails 8.0 tests work.

What would be the best approach? Require ruby 3.1 for the next release, or stay backwards compatible?

This is just my opinion, but since Ruby 3.1 hasn't reached EOL yet, I think it's fine to include Ruby 3.1 in the next release.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I've changed the Gemfile back to the older sqlite3 version, and in the appraisal file I've made an exception for rails 8

end
end

gemspec path: "../"
2 changes: 1 addition & 1 deletion rails_admin.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -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']
Expand Down
Loading