Skip to content

Commit 3bdc278

Browse files
authored
Test supported Rails versions against Ruby 4.0.0 (#980)
Additionally: - Update dependencies by using the oldest supported Ruby version for each Gemfile - Retest against Ruby 3.1. Since it is supported, it should be tested to avoid unintended breaking changes - Lock Mocha to v2 because of #981
1 parent 654bcf8 commit 3bdc278

11 files changed

Lines changed: 109 additions & 94 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,30 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
ruby:
18+
- "3.1"
1819
- "3.2"
1920
- "3.3"
2021
- "3.4"
22+
- "4.0"
2123
rails:
2224
- rails_70
2325
- rails_71
2426
- rails_72
2527
- rails_80
2628
- rails_81
2729
exclude:
30+
- ruby: "3.1"
31+
rails: rails_80
32+
- ruby: "3.1"
33+
rails: rails_81
2834
- ruby: "3.4"
2935
rails: rails_70
36+
- ruby: "4.0"
37+
rails: rails_70
38+
- ruby: "4.0"
39+
rails: rails_71
40+
- ruby: "4.0"
41+
rails: rails_72
3042
steps:
3143
- uses: actions/checkout@v6
3244
- name: Configure bundler (default)

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ gemspec path: '.'
66
group :development do
77
gem 'rails', '~> 8.1.0'
88

9-
gem 'mocha'
9+
gem 'mocha', '~> 2.8' # TODO: relax this dependency after fixing #981
1010
gem 'minitest'
1111
gem 'minitest-reporters'
1212
gem 'rails-controller-testing'

Gemfile.lock

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -87,33 +87,33 @@ GEM
8787
ansi (1.5.0)
8888
ast (2.4.3)
8989
base64 (0.3.0)
90-
bigdecimal (3.3.1)
90+
bigdecimal (4.0.1)
9191
builder (3.3.0)
92-
concurrent-ruby (1.3.5)
93-
connection_pool (2.5.5)
92+
concurrent-ruby (1.3.6)
93+
connection_pool (3.0.2)
9494
crass (1.0.6)
95-
date (3.5.0)
95+
date (3.5.1)
9696
docile (1.4.1)
9797
drb (2.2.3)
98-
erb (6.0.0)
98+
erb (6.0.1)
9999
erubi (1.13.1)
100100
globalid (1.3.0)
101101
activesupport (>= 6.1)
102102
has_scope (0.9.0)
103103
actionpack (>= 7.0)
104104
activesupport (>= 7.0)
105-
i18n (1.14.7)
105+
i18n (1.14.8)
106106
concurrent-ruby (~> 1.0)
107-
io-console (0.8.1)
108-
irb (1.15.3)
107+
io-console (0.8.2)
108+
irb (1.16.0)
109109
pp (>= 0.6.0)
110110
rdoc (>= 4.0.0)
111111
reline (>= 0.4.2)
112-
json (2.16.0)
112+
json (2.18.0)
113113
language_server-protocol (3.17.0.5)
114114
lint_roller (1.1.0)
115115
logger (1.7.0)
116-
loofah (2.24.1)
116+
loofah (2.25.0)
117117
crass (~> 1.0.2)
118118
nokogiri (>= 1.12.0)
119119
mail (2.9.0)
@@ -125,15 +125,16 @@ GEM
125125
marcel (1.1.0)
126126
mini_mime (1.1.5)
127127
mini_portile2 (2.8.9)
128-
minitest (5.26.2)
128+
minitest (6.0.1)
129+
prism (~> 1.5)
129130
minitest-reporters (1.7.1)
130131
ansi
131132
builder
132133
minitest (>= 5.0)
133134
ruby-progressbar
134135
mocha (2.8.2)
135136
ruby2_keywords (>= 0.0.5)
136-
net-imap (0.5.12)
137+
net-imap (0.6.2)
137138
date
138139
net-protocol
139140
net-pop (0.1.2)
@@ -161,8 +162,8 @@ GEM
161162
pp (0.6.3)
162163
prettyprint
163164
prettyprint (0.2.0)
164-
prism (1.6.0)
165-
psych (5.2.6)
165+
prism (1.7.0)
166+
psych (5.3.1)
166167
date
167168
stringio
168169
racc (1.8.1)
@@ -172,7 +173,7 @@ GEM
172173
rack (>= 3.0.0)
173174
rack-test (2.2.0)
174175
rack (>= 1.3)
175-
rackup (2.2.1)
176+
rackup (2.3.1)
176177
rack (>= 3)
177178
rails (8.1.1)
178179
actioncable (= 8.1.1)
@@ -210,7 +211,7 @@ GEM
210211
zeitwerk (~> 2.6)
211212
rainbow (3.1.1)
212213
rake (13.3.1)
213-
rdoc (6.16.1)
214+
rdoc (7.0.3)
214215
erb
215216
psych (>= 4.0.0)
216217
tsort
@@ -221,20 +222,20 @@ GEM
221222
actionpack (>= 7.0)
222223
railties (>= 7.0)
223224
rexml (3.4.4)
224-
rubocop (1.81.7)
225+
rubocop (1.82.1)
225226
json (~> 2.3)
226227
language_server-protocol (~> 3.17.0.2)
227228
lint_roller (~> 1.1.0)
228229
parallel (~> 1.10)
229230
parser (>= 3.3.0.2)
230231
rainbow (>= 2.2.2, < 4.0)
231232
regexp_parser (>= 2.9.3, < 3.0)
232-
rubocop-ast (>= 1.47.1, < 2.0)
233+
rubocop-ast (>= 1.48.0, < 2.0)
233234
ruby-progressbar (~> 1.7)
234235
unicode-display_width (>= 2.4.0, < 4.0)
235-
rubocop-ast (1.48.0)
236+
rubocop-ast (1.49.0)
236237
parser (>= 3.3.7.2)
237-
prism (~> 1.4)
238+
prism (~> 1.7)
238239
rubocop-minitest (0.38.2)
239240
lint_roller (~> 1.1)
240241
rubocop (>= 1.75.0, < 2.0)
@@ -258,23 +259,23 @@ GEM
258259
simplecov (~> 0.19)
259260
simplecov-html (0.13.2)
260261
simplecov_json_formatter (0.1.4)
261-
stringio (3.1.8)
262+
stringio (3.2.0)
262263
thor (1.4.0)
263-
timeout (0.4.4)
264+
timeout (0.6.0)
264265
tsort (0.2.0)
265266
tzinfo (2.0.6)
266267
concurrent-ruby (~> 1.0)
267268
unicode-display_width (3.2.0)
268269
unicode-emoji (~> 4.1)
269-
unicode-emoji (4.1.0)
270+
unicode-emoji (4.2.0)
270271
uri (1.1.1)
271272
useragent (0.16.11)
272273
warning (1.5.0)
273274
websocket-driver (0.8.0)
274275
base64
275276
websocket-extensions (>= 0.1.0)
276277
websocket-extensions (0.1.5)
277-
zeitwerk (2.7.3)
278+
zeitwerk (2.7.4)
278279

279280
PLATFORMS
280281
aarch64-linux
@@ -287,7 +288,7 @@ DEPENDENCIES
287288
inherited_resources!
288289
minitest
289290
minitest-reporters
290-
mocha
291+
mocha (~> 2.8)
291292
rails (~> 8.1.0)
292293
rails-controller-testing
293294
rubocop
@@ -299,4 +300,4 @@ DEPENDENCIES
299300
warning
300301

301302
BUNDLED WITH
302-
2.7.2
303+
4.0.3

gemfiles/rails_70/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ gemspec path: '../..'
66
group :development do
77
gem 'rails', '~> 7.0.0'
88

9-
gem 'mocha'
9+
gem 'mocha', '~> 2.8' # TODO: relax this dependency after fixing #981
1010
gem 'minitest'
1111
gem 'minitest-reporters'
1212
gem 'rails-controller-testing'

gemfiles/rails_70/Gemfile.lock

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ GEM
8686
ansi (1.5.0)
8787
base64 (0.3.0)
8888
benchmark (0.5.0)
89-
bigdecimal (3.3.1)
89+
bigdecimal (4.0.1)
9090
builder (3.3.0)
91-
concurrent-ruby (1.3.5)
91+
concurrent-ruby (1.3.6)
9292
crass (1.0.6)
93-
date (3.5.0)
93+
date (3.5.1)
9494
docile (1.4.1)
9595
drb (2.2.3)
9696
erubi (1.13.1)
@@ -99,10 +99,10 @@ GEM
9999
has_scope (0.9.0)
100100
actionpack (>= 7.0)
101101
activesupport (>= 7.0)
102-
i18n (1.14.7)
102+
i18n (1.14.8)
103103
concurrent-ruby (~> 1.0)
104104
logger (1.7.0)
105-
loofah (2.24.1)
105+
loofah (2.25.0)
106106
crass (~> 1.0.2)
107107
nokogiri (>= 1.12.0)
108108
mail (2.9.0)
@@ -115,7 +115,7 @@ GEM
115115
method_source (1.1.0)
116116
mini_mime (1.1.5)
117117
mini_portile2 (2.8.9)
118-
minitest (5.26.2)
118+
minitest (5.27.0)
119119
minitest-reporters (1.7.1)
120120
ansi
121121
builder
@@ -124,7 +124,7 @@ GEM
124124
mocha (2.8.2)
125125
ruby2_keywords (>= 0.0.5)
126126
mutex_m (0.3.0)
127-
net-imap (0.5.12)
127+
net-imap (0.5.13)
128128
date
129129
net-protocol
130130
net-pop (0.1.2)
@@ -199,7 +199,7 @@ GEM
199199
simplecov-html (0.13.2)
200200
simplecov_json_formatter (0.1.4)
201201
thor (1.4.0)
202-
timeout (0.4.4)
202+
timeout (0.6.0)
203203
tzinfo (2.0.6)
204204
concurrent-ruby (~> 1.0)
205205
warning (1.5.0)
@@ -220,7 +220,7 @@ DEPENDENCIES
220220
inherited_resources!
221221
minitest
222222
minitest-reporters
223-
mocha
223+
mocha (~> 2.8)
224224
rails (~> 7.0.0)
225225
rails-controller-testing
226226
simplecov
@@ -229,4 +229,4 @@ DEPENDENCIES
229229
zeitwerk (~> 2.6.18)
230230

231231
BUNDLED WITH
232-
2.7.2
232+
2.6.9

gemfiles/rails_71/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ gemspec path: '../..'
66
group :development do
77
gem 'rails', '~> 7.1.0'
88

9-
gem 'mocha'
9+
gem 'mocha', '~> 2.8' # TODO: relax this dependency after fixing #981
1010
gem 'minitest'
1111
gem 'minitest-reporters'
1212
gem 'rails-controller-testing'

gemfiles/rails_71/Gemfile.lock

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ GEM
9292
ansi (1.5.0)
9393
base64 (0.3.0)
9494
benchmark (0.5.0)
95-
bigdecimal (3.3.1)
95+
bigdecimal (4.0.1)
9696
builder (3.3.0)
97-
cgi (0.5.0)
98-
concurrent-ruby (1.3.5)
97+
cgi (0.5.1)
98+
concurrent-ruby (1.3.6)
9999
connection_pool (2.5.5)
100100
crass (1.0.6)
101-
date (3.5.0)
101+
date (3.5.1)
102102
docile (1.4.1)
103103
drb (2.2.3)
104104
erb (4.0.4)
@@ -109,15 +109,15 @@ GEM
109109
has_scope (0.9.0)
110110
actionpack (>= 7.0)
111111
activesupport (>= 7.0)
112-
i18n (1.14.7)
112+
i18n (1.14.8)
113113
concurrent-ruby (~> 1.0)
114-
io-console (0.8.1)
115-
irb (1.15.3)
114+
io-console (0.8.2)
115+
irb (1.16.0)
116116
pp (>= 0.6.0)
117117
rdoc (>= 4.0.0)
118118
reline (>= 0.4.2)
119119
logger (1.7.0)
120-
loofah (2.24.1)
120+
loofah (2.25.0)
121121
crass (~> 1.0.2)
122122
nokogiri (>= 1.12.0)
123123
mail (2.9.0)
@@ -129,7 +129,7 @@ GEM
129129
marcel (1.1.0)
130130
mini_mime (1.1.5)
131131
mini_portile2 (2.8.9)
132-
minitest (5.26.2)
132+
minitest (5.27.0)
133133
minitest-reporters (1.7.1)
134134
ansi
135135
builder
@@ -138,7 +138,7 @@ GEM
138138
mocha (2.8.2)
139139
ruby2_keywords (>= 0.0.5)
140140
mutex_m (0.3.0)
141-
net-imap (0.5.12)
141+
net-imap (0.5.13)
142142
date
143143
net-protocol
144144
net-pop (0.1.2)
@@ -162,7 +162,7 @@ GEM
162162
pp (0.6.3)
163163
prettyprint
164164
prettyprint (0.2.0)
165-
psych (5.2.6)
165+
psych (5.3.1)
166166
date
167167
stringio
168168
racc (1.8.1)
@@ -172,7 +172,7 @@ GEM
172172
rack (>= 3.0.0)
173173
rack-test (2.2.0)
174174
rack (>= 1.3)
175-
rackup (2.2.1)
175+
rackup (2.3.1)
176176
rack (>= 3)
177177
rails (7.1.6)
178178
actioncable (= 7.1.6)
@@ -210,7 +210,7 @@ GEM
210210
tsort (>= 0.2)
211211
zeitwerk (~> 2.6)
212212
rake (13.3.1)
213-
rdoc (6.16.1)
213+
rdoc (7.0.3)
214214
erb
215215
psych (>= 4.0.0)
216216
tsort
@@ -232,9 +232,9 @@ GEM
232232
simplecov (~> 0.19)
233233
simplecov-html (0.13.2)
234234
simplecov_json_formatter (0.1.4)
235-
stringio (3.1.8)
235+
stringio (3.2.0)
236236
thor (1.4.0)
237-
timeout (0.4.4)
237+
timeout (0.6.0)
238238
tsort (0.2.0)
239239
tzinfo (2.0.6)
240240
concurrent-ruby (~> 1.0)
@@ -257,7 +257,7 @@ DEPENDENCIES
257257
inherited_resources!
258258
minitest
259259
minitest-reporters
260-
mocha
260+
mocha (~> 2.8)
261261
rails (~> 7.1.0)
262262
rails-controller-testing
263263
simplecov
@@ -266,4 +266,4 @@ DEPENDENCIES
266266
zeitwerk (~> 2.6.18)
267267

268268
BUNDLED WITH
269-
2.7.2
269+
2.6.9

0 commit comments

Comments
 (0)