Skip to content

Commit 3cf6a4e

Browse files
MONGOID-5818 Support Rails 8 (#5876)
1 parent 1e4507b commit 3cf6a4e

21 files changed

+255
-111
lines changed

.evergreen/config.yml

+62-20
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ functions:
259259
"upload test results":
260260
- command: attach.xunit_results
261261
params:
262-
file: ./src/tmp/rspec.xml
262+
file: ./src/rspec.xml
263263

264264
"run tests":
265265
- command: shell.exec
@@ -308,7 +308,7 @@ post:
308308
# Removed, causing timeouts
309309
# - func: "upload working dir"
310310
- func: "upload mo artifacts"
311-
#- func: "upload test results"
311+
# - func: "upload test results"
312312
- func: "upload test results to s3"
313313

314314
task_groups:
@@ -595,6 +595,10 @@ axes:
595595
display_name: "Rails 7.2"
596596
variables:
597597
RAILS: "7.2"
598+
- id: "8.0"
599+
display_name: "Rails 8.0"
600+
variables:
601+
RAILS: "8.0"
598602

599603
- id: "test-i18n-fallbacks"
600604
display_name: Test i18n fallbacks
@@ -734,19 +738,6 @@ buildvariants:
734738
tasks:
735739
- name: "test"
736740

737-
- matrix_name: "rails-7"
738-
matrix_spec:
739-
ruby: ["ruby-3.3"]
740-
driver: ["current"]
741-
mongodb-version: "6.0"
742-
topology: "standalone"
743-
rails: ['7.0', '7.1', '7.2']
744-
os: ubuntu-22.04
745-
fle: helper
746-
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
747-
tasks:
748-
- name: "test"
749-
750741
- matrix_name: "bson-min"
751742
matrix_spec:
752743
driver: [bson-min]
@@ -769,6 +760,44 @@ buildvariants:
769760
tasks:
770761
- name: "test"
771762

763+
- matrix_name: "rails-master"
764+
matrix_spec:
765+
ruby: ["ruby-3.2"]
766+
driver: ["current"]
767+
mongodb-version: "7.0"
768+
topology: "standalone"
769+
rails: ['master']
770+
os: ubuntu-22.04
771+
fle: helper
772+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
773+
tasks:
774+
- name: "test"
775+
776+
- matrix_name: "rails-8"
777+
matrix_spec:
778+
ruby: ["ruby-3.3"]
779+
driver: ["current"]
780+
mongodb-version: "7.0"
781+
topology: "standalone"
782+
rails: ['8.0']
783+
os: ubuntu-22.04
784+
fle: helper
785+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
786+
tasks:
787+
- name: "test"
788+
789+
- matrix_name: "rails-7"
790+
matrix_spec:
791+
ruby: ["ruby-3.3"]
792+
driver: ["current"]
793+
mongodb-version: "6.0"
794+
topology: "standalone"
795+
rails: ['7.0', '7.1', '7.2']
796+
os: ubuntu-22.04
797+
fle: helper
798+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
799+
tasks:
800+
- name: "test"
772801

773802
- matrix_name: "rails-6"
774803
matrix_spec:
@@ -794,27 +823,40 @@ buildvariants:
794823
tasks:
795824
- name: "test"
796825

826+
- matrix_name: app-tests-rails-8
827+
matrix_spec:
828+
ruby: ["ruby-3.2", "ruby-3.3"]
829+
driver: ["current"]
830+
mongodb-version: '7.0'
831+
topology: standalone
832+
app-tests: yes
833+
rails: ['8.0']
834+
os: ubuntu-22.04
835+
display_name: "app tests ${driver}, ${ruby}, ${rails}"
836+
tasks:
837+
- name: "test"
838+
797839
- matrix_name: app-tests-rails-7
798840
matrix_spec:
799-
ruby: ["ruby-3.1", "ruby-3.2", "ruby-3.3"]
841+
ruby: ["ruby-3.2", "ruby-3.3"]
800842
driver: ["current"]
801843
mongodb-version: '7.0'
802844
topology: standalone
803845
app-tests: yes
804-
rails: ['6.1', '7.0', '7.1', '7.2']
846+
rails: ['7.0', '7.1', '7.2']
805847
os: ubuntu-22.04
806848
display_name: "app tests ${driver}, ${ruby}, ${rails}"
807849
tasks:
808850
- name: "test"
809851

810-
- matrix_name: app-tests-rails-6-0
852+
- matrix_name: app-tests-rails-6
811853
matrix_spec:
812-
ruby: ["ruby-3.0"]
854+
ruby: ["ruby-2.7"]
813855
driver: ["current"]
814856
mongodb-version: '5.0'
815857
topology: standalone
816858
app-tests: yes
817-
rails: ['6.0']
859+
rails: ['6.0', '6.1']
818860
os: ubuntu-20.04
819861
display_name: "app tests ${driver}, ${ruby}, ${rails}"
820862
tasks:

.evergreen/config/axes.yml.erb

+4
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ axes:
222222
display_name: "Rails 7.2"
223223
variables:
224224
RAILS: "7.2"
225+
- id: "8.0"
226+
display_name: "Rails 8.0"
227+
variables:
228+
RAILS: "8.0"
225229

226230
- id: "test-i18n-fallbacks"
227231
display_name: Test i18n fallbacks

.evergreen/config/commands.yml.erb

+2-2
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ functions:
233233
"upload test results":
234234
- command: attach.xunit_results
235235
params:
236-
file: ./src/tmp/rspec.xml
236+
file: ./src/rspec.xml
237237

238238
"run tests":
239239
- command: shell.exec
@@ -282,7 +282,7 @@ post:
282282
# Removed, causing timeouts
283283
# - func: "upload working dir"
284284
- func: "upload mo artifacts"
285-
#- func: "upload test results"
285+
# - func: "upload test results"
286286
- func: "upload test results to s3"
287287

288288
task_groups:

.evergreen/config/variants.yml.erb

+56-18
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,6 @@ buildvariants:
109109
tasks:
110110
- name: "test"
111111

112-
- matrix_name: "rails-7"
113-
matrix_spec:
114-
ruby: ["ruby-3.3"]
115-
driver: ["current"]
116-
mongodb-version: "6.0"
117-
topology: "standalone"
118-
rails: ['7.0', '7.1', '7.2']
119-
os: ubuntu-22.04
120-
fle: helper
121-
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
122-
tasks:
123-
- name: "test"
124-
125112
- matrix_name: "bson-min"
126113
matrix_spec:
127114
driver: [bson-min]
@@ -144,6 +131,44 @@ buildvariants:
144131
tasks:
145132
- name: "test"
146133

134+
- matrix_name: "rails-master"
135+
matrix_spec:
136+
ruby: ["ruby-3.2"]
137+
driver: ["current"]
138+
mongodb-version: "7.0"
139+
topology: "standalone"
140+
rails: ['master']
141+
os: ubuntu-22.04
142+
fle: helper
143+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
144+
tasks:
145+
- name: "test"
146+
147+
- matrix_name: "rails-8"
148+
matrix_spec:
149+
ruby: ["ruby-3.3"]
150+
driver: ["current"]
151+
mongodb-version: "7.0"
152+
topology: "standalone"
153+
rails: ['8.0']
154+
os: ubuntu-22.04
155+
fle: helper
156+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
157+
tasks:
158+
- name: "test"
159+
160+
- matrix_name: "rails-7"
161+
matrix_spec:
162+
ruby: ["ruby-3.3"]
163+
driver: ["current"]
164+
mongodb-version: "6.0"
165+
topology: "standalone"
166+
rails: ['7.0', '7.1', '7.2']
167+
os: ubuntu-22.04
168+
fle: helper
169+
display_name: "${rails}, ${driver}, ${mongodb-version} (FLE ${fle})"
170+
tasks:
171+
- name: "test"
147172

148173
- matrix_name: "rails-6"
149174
matrix_spec:
@@ -169,27 +194,40 @@ buildvariants:
169194
tasks:
170195
- name: "test"
171196

197+
- matrix_name: app-tests-rails-8
198+
matrix_spec:
199+
ruby: ["ruby-3.2", "ruby-3.3"]
200+
driver: ["current"]
201+
mongodb-version: '7.0'
202+
topology: standalone
203+
app-tests: yes
204+
rails: ['8.0']
205+
os: ubuntu-22.04
206+
display_name: "app tests ${driver}, ${ruby}, ${rails}"
207+
tasks:
208+
- name: "test"
209+
172210
- matrix_name: app-tests-rails-7
173211
matrix_spec:
174-
ruby: ["ruby-3.1", "ruby-3.2", "ruby-3.3"]
212+
ruby: ["ruby-3.2", "ruby-3.3"]
175213
driver: ["current"]
176214
mongodb-version: '7.0'
177215
topology: standalone
178216
app-tests: yes
179-
rails: ['6.1', '7.0', '7.1', '7.2']
217+
rails: ['7.0', '7.1', '7.2']
180218
os: ubuntu-22.04
181219
display_name: "app tests ${driver}, ${ruby}, ${rails}"
182220
tasks:
183221
- name: "test"
184222

185-
- matrix_name: app-tests-rails-6-0
223+
- matrix_name: app-tests-rails-6
186224
matrix_spec:
187-
ruby: ["ruby-3.0"]
225+
ruby: ["ruby-2.7"]
188226
driver: ["current"]
189227
mongodb-version: '5.0'
190228
topology: standalone
191229
app-tests: yes
192-
rails: ['6.0']
230+
rails: ['6.0', '6.1']
193231
os: ubuntu-20.04
194232
display_name: "app tests ${driver}, ${ruby}, ${rails}"
195233
tasks:

.evergreen/run-tests.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,6 @@ if test -f tmp/rspec-all.json; then
123123
mv tmp/rspec-all.json tmp/rspec.json
124124
fi
125125

126-
python3 -m mtools.mlaunch.mlaunch stop --dir "$dbdir"
126+
python3 -m mtools.mlaunch.mlaunch stop --dir "$dbdir" || true
127127

128128
exit ${test_status}

.github/workflows/test.yml

+30-26
Original file line numberDiff line numberDiff line change
@@ -50,28 +50,38 @@ jobs:
5050
driver: stable
5151
gemfile: gemfiles/driver_stable.gemfile
5252
experimental: false
53-
- mongodb: '6.0'
54-
ruby: ruby-3.1
53+
- mongodb: '7.0'
54+
ruby: ruby-3.3
55+
topology: server
56+
os: ubuntu-22.04
57+
task: test
58+
driver: current
59+
rails: '8.0'
60+
fle: helper
61+
gemfile: gemfiles/rails-8.0.gemfile
62+
experimental: false
63+
- mongodb: '7.0'
64+
ruby: ruby-3.2
5565
topology: server
5666
os: ubuntu-20.04
5767
task: test
5868
driver: current
59-
rails: '7.0'
69+
rails: '7.2'
6070
fle: helper
61-
gemfile: gemfiles/rails-7.0.gemfile
71+
gemfile: gemfiles/rails-7.2.gemfile
6272
experimental: false
63-
- mongodb: '6.0'
64-
ruby: ruby-3.1
73+
- mongodb: '7.0'
74+
ruby: ruby-3.2
6575
topology: server
6676
os: ubuntu-20.04
6777
task: test
6878
driver: current
69-
rails: '6.1'
79+
rails: '7.1'
7080
fle: helper
71-
gemfile: gemfiles/rails-6.1.gemfile
81+
gemfile: gemfiles/rails-7.1.gemfile
7282
experimental: false
73-
- mongodb: '6.0'
74-
ruby: ruby-3.0
83+
- mongodb: '7.0'
84+
ruby: ruby-3.1
7585
topology: server
7686
os: ubuntu-20.04
7787
task: test
@@ -80,6 +90,16 @@ jobs:
8090
fle: helper
8191
gemfile: gemfiles/rails-7.0.gemfile
8292
experimental: false
93+
- mongodb: '6.0'
94+
ruby: ruby-3.1
95+
topology: server
96+
os: ubuntu-20.04
97+
task: test
98+
driver: current
99+
rails: '6.1'
100+
fle: helper
101+
gemfile: gemfiles/rails-6.1.gemfile
102+
experimental: false
83103
- mongodb: '6.0'
84104
ruby: ruby-3.0
85105
topology: server
@@ -126,22 +146,6 @@ jobs:
126146
driver: current
127147
gemfile: Gemfile
128148
experimental: false
129-
- mongodb: '4.0'
130-
ruby: ruby-2.7
131-
topology: replica_set
132-
os: ubuntu-20.04
133-
task: test
134-
driver: current
135-
gemfile: Gemfile
136-
experimental: false
137-
- mongodb: '3.6'
138-
ruby: ruby-2.7
139-
topology: replica_set
140-
os: ubuntu-20.04
141-
task: test
142-
driver: current
143-
gemfile: Gemfile
144-
experimental: false
145149

146150
steps:
147151
- name: repo checkout

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ examples
3131
.env
3232
.env.private*
3333
build
34+
rspec.xml

gemfiles/rails-6.0.gemfile

+4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ source 'https://rubygems.org'
44
gem 'actionpack', '~> 6.0'
55
gem 'activemodel', '~> 6.0'
66

7+
group :test do
8+
gem 'activejob', '~> 6.0'
9+
end
10+
711
gemspec path: '..'
812

913
require_relative './standard'

0 commit comments

Comments
 (0)