Skip to content

Commit bbb1ebf

Browse files
authored
Merge pull request #988 from Dynamoid/ak/upgrade-to-ruby-4-0
Add Ruby 4.0 and Rails 8.1 in CI
2 parents 9c970fd + d6ad229 commit bbb1ebf

File tree

6 files changed

+58
-3
lines changed

6 files changed

+58
-3
lines changed

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ jobs:
4141
- rails_7_1
4242
- rails_7_2
4343
- rails_8_0
44+
- rails_8_1
4445
rubygems:
4546
- default
4647
bundler:
@@ -57,8 +58,25 @@ jobs:
5758
- "3.2"
5859
- "3.3"
5960
- "3.4"
61+
- "4.0"
6062
exclude:
6163

64+
# Rails 8.1 requires Ruby 3.2 and above
65+
- gemfile: rails_8_1
66+
ruby: "2.3"
67+
- gemfile: rails_8_1
68+
ruby: "2.4"
69+
- gemfile: rails_8_1
70+
ruby: "2.5"
71+
- gemfile: rails_8_1
72+
ruby: "2.6"
73+
- gemfile: rails_8_1
74+
ruby: "2.7"
75+
- gemfile: rails_8_1
76+
ruby: "3.0"
77+
- gemfile: rails_8_1
78+
ruby: "3.1"
79+
6280
# Rails 8.0 requires Ruby 3.2 and above
6381
- gemfile: rails_8_0
6482
ruby: "2.3"
@@ -162,6 +180,14 @@ jobs:
162180
gemfile: rails_5_1
163181
- ruby: "3.4"
164182
gemfile: rails_5_2
183+
- ruby: "4.0"
184+
gemfile: rails_4_2
185+
- ruby: "4.0"
186+
gemfile: rails_5_0
187+
- ruby: "4.0"
188+
gemfile: rails_5_1
189+
- ruby: "4.0"
190+
gemfile: rails_5_2
165191

166192
- ruby: "jruby"
167193
gemfile: rails_4_2

Appraisals

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ appraise 'rails-6-0' do
3232
gem 'mutex_m'
3333
gem 'base64'
3434
gem 'bigdecimal'
35+
36+
# Since Ruby 4.0 benchmark becomes a bundled gem and should be added into gemspec/Gemfile files
37+
gem 'benchmark'
3538
end
3639

3740
appraise 'rails-6-1' do
@@ -41,6 +44,9 @@ appraise 'rails-6-1' do
4144
gem 'mutex_m'
4245
gem 'base64'
4346
gem 'bigdecimal'
47+
48+
# Since Ruby 4.0 benchmark becomes a bundled gem and should be added into gemspec/Gemfile files
49+
gem 'benchmark'
4450
end
4551

4652
appraise 'rails-7-0' do
@@ -78,3 +84,12 @@ appraise 'rails-8-0' do
7884
gem 'base64'
7985
gem 'bigdecimal'
8086
end
87+
88+
appraise 'rails-8-1' do
89+
gem 'activemodel', '~> 8.1.0'
90+
91+
# Since Ruby 3.4 these dependencies are bundled gems so should be specified explicitly.
92+
gem 'mutex_m'
93+
gem 'base64'
94+
gem 'bigdecimal'
95+
end

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@ end
132132
Dynamoid supports Ruby >= 2.3 and Rails >= 4.2.
133133

134134
Its compatibility is tested against following Ruby versions: 2.3, 2.4,
135-
2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, and 3.4, JRuby 9.4.x and against Rails versions: 4.2, 5.0, 5.1,
136-
5.2, 6.0, 6.1, 7.0, 7.1, 7.2, and 8.0.
135+
2.5, 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, 3.4, and 4.0, JRuby 9.4.x and against Rails versions: 4.2, 5.0, 5.1,
136+
5.2, 6.0, 6.1, 7.0, 7.1, 7.2, 8.0, and 8.1.
137137

138138
## Setup
139139

gemfiles/rails_6_0.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ source 'https://rubygems.org'
66

77
gem 'activemodel', '~> 6.0.0'
88
gem 'base64'
9+
gem 'benchmark'
910
gem 'bigdecimal'
1011
gem 'mutex_m'
1112
gem 'pry-byebug', platforms: :ruby

gemfiles/rails_6_1.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ source 'https://rubygems.org'
66

77
gem 'activemodel', '~> 6.1.0'
88
gem 'base64'
9+
gem 'benchmark'
910
gem 'bigdecimal'
1011
gem 'mutex_m'
11-
gem 'pry-byebug', platforms: :ruby
1212

1313
gemspec path: '../'

gemfiles/rails_8_1.gemfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# frozen_string_literal: true
2+
3+
# This file was generated by Appraisal
4+
5+
source 'https://rubygems.org'
6+
7+
gem 'activemodel', '~> 8.1.0'
8+
gem 'base64'
9+
gem 'bigdecimal'
10+
gem 'mutex_m'
11+
gem 'pry-byebug', platforms: :ruby
12+
13+
gemspec path: '../'

0 commit comments

Comments
 (0)