|
1 | | -# Rails 5.x, 6.0 requires Ruby < 3 |
2 | | -if RUBY_ENGINE == 'ruby' && RUBY_VERSION <= '3.0' |
| 1 | +max_ruby_version = ->(version) { |
| 2 | + RUBY_ENGINE == 'ruby' && Gem::Version.new(RUBY_VERSION) <= Gem::Version.new(version) |
| 3 | +} |
| 4 | + |
| 5 | +min_ruby_version = ->(version) { |
| 6 | + RUBY_ENGINE == 'ruby' && Gem::Version.new(RUBY_VERSION) >= Gem::Version.new(version) |
| 7 | +} |
| 8 | + |
| 9 | +# Rails 5.x, 6.0 require Ruby < 3 |
| 10 | +if max_ruby_version.call('3.0') |
3 | 11 | appraise 'rails-5.2' do |
4 | 12 | gem 'activerecord-jdbcsqlite3-adapter', '~> 52.5', platform: :jruby |
5 | 13 | gem 'bootsnap', '~> 1.4' |
6 | | - gem 'rails', '5.2.8.1' |
| 14 | + gem 'rails', '~> 5.2.0' |
7 | 15 | gem 'rspec-rails', '~> 3.7' |
8 | 16 | gem 'sqlite3', '< 1.4.0', platform: :ruby |
9 | 17 | end |
10 | 18 |
|
11 | 19 | appraise 'rails-6.0' do |
12 | 20 | gem 'activerecord-jdbcsqlite3-adapter', '~> 60.1', platform: :jruby |
13 | 21 | gem 'bootsnap', '~> 1.4' |
14 | | - gem 'rails', '6.0.6.1' |
| 22 | + gem 'rails', '~> 6.0.0' |
15 | 23 | gem 'rspec-rails', '~> 3.7' |
16 | | - gem 'sqlite3', '~> 1.4.0', platform: :ruby |
| 24 | + gem 'sqlite3', '~> 1', platform: :ruby |
17 | 25 | end |
18 | 26 | end |
19 | 27 |
|
20 | | -# Test rails 6.1 with psych >= 4 |
21 | 28 | appraise 'rails-6.1' do |
22 | 29 | gem 'activerecord-jdbcsqlite3-adapter', '~> 61.1', platform: :jruby |
23 | 30 | gem 'bootsnap', '>= 1.4.4' |
24 | | - gem 'drb', '~> 2.2' if RUBY_VERSION >= '3.4' |
25 | | - gem 'mutex_m', '~> 0.2.0' if RUBY_VERSION >= '3.4' |
26 | | - gem 'rails', '6.1.7.10' |
27 | | - gem 'rspec-rails', '~> 5.0' |
28 | | - gem 'sqlite3', '~> 1.4', platform: :ruby |
| 31 | + gem 'drb', '~> 2.2' if min_ruby_version.call('3.4') |
| 32 | + gem 'mutex_m', '~> 0.2.0' if min_ruby_version.call('3.4') |
29 | 33 | gem 'psych', '>= 4' |
| 34 | + gem 'rails', '~> 6.1.0' |
| 35 | + gem 'rspec-rails', '~> 5.0' |
| 36 | + gem 'sqlite3', '~> 1', platform: :ruby |
30 | 37 | end |
31 | 38 |
|
32 | | -# Temporarily exclude Truffleruby and JRuby from testing in Rails 7.x until they fix the issues upstream. |
33 | | -# See https://github.com/rubyconfig/config/pull/344#issuecomment-1766209753 |
34 | | -# if (RUBY_ENGINE == 'ruby' && RUBY_VERSION >= '2.7') || RUBY_ENGINE != 'ruby' |
35 | | -if RUBY_ENGINE == 'ruby' && RUBY_VERSION >= '2.7' |
| 39 | +# Rails 7.0 require Ruby > 2.7 |
| 40 | +if min_ruby_version.call('2.7') || RUBY_ENGINE != 'ruby' |
36 | 41 | appraise 'rails-7.0' do |
37 | 42 | gem 'activerecord-jdbcsqlite3-adapter', '~> 70.1', platform: :jruby |
38 | | - gem 'sqlite3', '~> 1.6.4', platform: :ruby |
39 | 43 | gem 'bootsnap', '>= 1.4.4' |
40 | | - gem 'drb', '~> 2.2' if RUBY_VERSION >= '3.4' |
41 | | - gem 'mutex_m', '~> 0.2.0' if RUBY_VERSION >= '3.4' |
42 | | - gem 'rails', '7.0.8.7' |
43 | | - gem 'rspec-rails', '~> 6.0.3' |
44 | | - gem 'sprockets-rails', '~> 3.4.2' |
| 44 | + gem 'drb', '~> 2.2' if min_ruby_version.call('3.4') |
| 45 | + gem 'mutex_m', '~> 0.2.0' if min_ruby_version.call('3.4') |
45 | 46 | gem 'psych', '>= 4' |
| 47 | + gem 'rails', '~> 7.0.0' |
| 48 | + gem 'rspec-rails', '~> 7.0' |
| 49 | + gem 'sprockets-rails', '~> 3.5.2' |
| 50 | + gem 'sqlite3', '~> 1', platform: :ruby |
46 | 51 | end |
| 52 | +end |
47 | 53 |
|
| 54 | +# Rails 7.1 require Ruby > 2.7 |
| 55 | +if min_ruby_version.call('2.7') && RUBY_ENGINE != 'jruby' |
48 | 56 | appraise 'rails-7.1' do |
49 | 57 | gem 'activerecord-jdbcsqlite3-adapter', '~> 70.1', platform: :jruby |
50 | | - gem 'sqlite3', '~> 1.6.6', platform: :ruby |
51 | 58 | gem 'bootsnap', '>= 1.16.0' |
52 | | - gem 'rails', '7.1.5.1' |
53 | | - gem 'rspec-rails', '~> 6.0.3' |
54 | | - gem 'sprockets-rails', '~> 3.4.2' |
55 | 59 | gem 'psych', '>= 4' |
| 60 | + gem 'rails', '~> 7.1.0' |
| 61 | + gem 'rspec-rails', '~> 7.0' |
| 62 | + gem 'sprockets-rails', '~> 3.5.2' |
| 63 | + gem 'sqlite3', '~> 1', platform: :ruby |
| 64 | + end |
| 65 | + |
| 66 | +end |
| 67 | + |
| 68 | +# Rails 7.2 requires Ruby > 3.1 |
| 69 | +if min_ruby_version.call('3.1.0') && RUBY_ENGINE != 'jruby' |
| 70 | + appraise 'rails-7.2' do |
| 71 | + gem 'activerecord-jdbcsqlite3-adapter', '~> 70.1', platform: :jruby |
| 72 | + gem 'bootsnap', '>= 1.16.0' |
| 73 | + gem 'psych', '>= 4' |
| 74 | + gem 'rails', '~> 7.2.0' |
| 75 | + gem 'rspec-rails', '~> 7.0' |
| 76 | + gem 'sprockets-rails', '~> 3.5.2' |
| 77 | + gem 'sqlite3', '~> 1', platform: :ruby |
| 78 | + end |
| 79 | +end |
| 80 | + |
| 81 | +# Rails 8.0 requires Ruby > 3.2 |
| 82 | +if min_ruby_version.call('3.2.0') && RUBY_ENGINE != 'jruby' |
| 83 | + appraise 'rails-8.0' do |
| 84 | + gem 'activerecord-jdbcsqlite3-adapter', '~> 70.1', platform: :jruby |
| 85 | + gem 'bootsnap', '>= 1.16.0' |
| 86 | + gem 'kamal', '~> 2.7.0' |
| 87 | + gem 'rails', '~> 8.0.0' |
| 88 | + gem 'rspec-rails', '~> 8.0' |
| 89 | + gem 'psych', '>= 4' |
| 90 | + gem 'sqlite3', '>= 2.1', platform: :ruby |
56 | 91 | end |
57 | 92 | end |
58 | 93 |
|
|
0 commit comments