Skip to content

Commit ea1dd1f

Browse files
MONGOID-5818 Support Rails 8 (#5876) (#5898)
1 parent 484092b commit ea1dd1f

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:
@@ -596,6 +596,10 @@ axes:
596596
display_name: "Rails 7.2"
597597
variables:
598598
RAILS: "7.2"
599+
- id: "8.0"
600+
display_name: "Rails 8.0"
601+
variables:
602+
RAILS: "8.0"
599603

600604
- id: "test-i18n-fallbacks"
601605
display_name: Test i18n fallbacks
@@ -735,19 +739,6 @@ buildvariants:
735739
tasks:
736740
- name: "test"
737741

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

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

774803
- matrix_name: "rails-6"
775804
matrix_spec:
@@ -795,27 +824,40 @@ buildvariants:
795824
tasks:
796825
- name: "test"
797826

827+
- matrix_name: app-tests-rails-8
828+
matrix_spec:
829+
ruby: ["ruby-3.2", "ruby-3.3"]
830+
driver: ["current"]
831+
mongodb-version: '7.0'
832+
topology: standalone
833+
app-tests: yes
834+
rails: ['8.0']
835+
os: ubuntu-22.04
836+
display_name: "app tests ${driver}, ${ruby}, ${rails}"
837+
tasks:
838+
- name: "test"
839+
798840
- matrix_name: app-tests-rails-7
799841
matrix_spec:
800-
ruby: ["ruby-3.1", "ruby-3.2", "ruby-3.3"]
842+
ruby: ["ruby-3.2", "ruby-3.3"]
801843
driver: ["current"]
802844
mongodb-version: '7.0'
803845
topology: standalone
804846
app-tests: yes
805-
rails: ['6.1', '7.0', '7.1', '7.2']
847+
rails: ['7.0', '7.1', '7.2']
806848
os: ubuntu-22.04
807849
display_name: "app tests ${driver}, ${ruby}, ${rails}"
808850
tasks:
809851
- name: "test"
810852

811-
- matrix_name: app-tests-rails-6-0
853+
- matrix_name: app-tests-rails-6
812854
matrix_spec:
813-
ruby: ["ruby-3.0"]
855+
ruby: ["ruby-2.7"]
814856
driver: ["current"]
815857
mongodb-version: '5.0'
816858
topology: standalone
817859
app-tests: yes
818-
rails: ['6.0']
860+
rails: ['6.0', '6.1']
819861
os: ubuntu-20.04
820862
display_name: "app tests ${driver}, ${ruby}, ${rails}"
821863
tasks:

.evergreen/config/axes.yml.erb

+4
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,10 @@ axes:
223223
display_name: "Rails 7.2"
224224
variables:
225225
RAILS: "7.2"
226+
- id: "8.0"
227+
display_name: "Rails 8.0"
228+
variables:
229+
RAILS: "8.0"
226230

227231
- id: "test-i18n-fallbacks"
228232
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
@@ -118,6 +118,6 @@ if test -f tmp/rspec-all.json; then
118118
mv tmp/rspec-all.json tmp/rspec.json
119119
fi
120120

121-
python3 -m mtools.mlaunch.mlaunch stop --dir "$dbdir"
121+
python3 -m mtools.mlaunch.mlaunch stop --dir "$dbdir" || true
122122

123123
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)