Skip to content

Commit 1e2e823

Browse files
authored
Start testing against Ruby 4.0.0 (#2963)
This also adds a few gems which were extracted from Ruby into gems: * `ostruct`, which we use in at least `spec/lib/fields/polymorphic_spec.rb`, * `benchmark`, `tsort` which we need for Rails 6.1 https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/
1 parent 6564afc commit 1e2e823

File tree

9 files changed

+43
-20
lines changed

9 files changed

+43
-20
lines changed

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
ruby: [3.2, 3.3, 3.4]
16+
ruby: [3.2, 3.3, 3.4, 4.0]
1717
env:
1818
PGHOST: localhost
1919
PGUSER: administrate
@@ -64,7 +64,7 @@ jobs:
6464
strategy:
6565
fail-fast: false
6666
matrix:
67-
ruby: [3.1, 3.2, 3.3, 3.4]
67+
ruby: [3.1, 3.2, 3.3, 3.4, 4.0]
6868
appraisal: [rails61, rails70, rails80, pundit21]
6969
include:
7070
- ruby: '3.0'

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.4.6
1+
4.0.0

Gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
source "https://rubygems.org"
2-
ruby "3.4.6" unless ENV["CI"] && !ENV["DIFF_CHECK_APPRAISAL"]
2+
ruby "4.0.0" unless ENV["CI"] && !ENV["DIFF_CHECK_APPRAISAL"]
33

44
gemspec
55

66
gem "administrate-field-image"
7+
gem "benchmark"
78
gem "faker"
89
gem "front_matter_parser"
910
gem "globalid"
1011
gem "image_processing"
1112
gem "kaminari-i18n"
13+
gem "ostruct"
1214
gem "pg"
1315
gem "puma"
1416
gem "pundit"
1517
gem "redcarpet"
1618
gem "sentry-rails"
1719
gem "sentry-ruby"
20+
gem "tsort"
1821

1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
@@ -26,7 +29,7 @@ group :development, :test do
2629
gem "byebug"
2730
gem "dotenv-rails"
2831
gem "factory_bot_rails"
29-
gem "i18n-tasks", "1.0.15"
32+
gem "i18n-tasks"
3033
gem "standard"
3134
gem "yard"
3235
end

Gemfile.lock

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,13 +158,14 @@ GEM
158158
reline
159159
i18n (1.14.8)
160160
concurrent-ruby (~> 1.0)
161-
i18n-tasks (1.0.15)
161+
i18n-tasks (1.1.2)
162162
activesupport (>= 4.0.2)
163163
ast (>= 2.1.0)
164164
erubi
165-
highline (>= 2.0.0)
165+
highline (>= 3.0.0)
166166
i18n
167167
parser (>= 3.2.2.1)
168+
prism
168169
rails-i18n
169170
rainbow (>= 2.2.2, < 4.0)
170171
ruby-progressbar (~> 1.8, >= 1.8.1)
@@ -232,6 +233,7 @@ GEM
232233
nokogiri (1.19.0)
233234
mini_portile2 (~> 2.8.2)
234235
racc (~> 1.4)
236+
ostruct (0.6.3)
235237
parallel (1.27.0)
236238
parser (3.3.10.0)
237239
ast (~> 2.4.1)
@@ -390,7 +392,7 @@ GEM
390392
execjs (>= 0.3.0, < 3)
391393
unicode-display_width (3.2.0)
392394
unicode-emoji (~> 4.1)
393-
unicode-emoji (4.1.0)
395+
unicode-emoji (4.2.0)
394396
uri (1.1.1)
395397
useragent (0.16.11)
396398
webmock (3.26.1)
@@ -417,6 +419,7 @@ DEPENDENCIES
417419
ammeter
418420
appraisal
419421
awesome_print
422+
benchmark
420423
byebug
421424
capybara
422425
cssbundling-rails (~> 1.4)
@@ -427,11 +430,12 @@ DEPENDENCIES
427430
formulaic
428431
front_matter_parser
429432
globalid
430-
i18n-tasks (= 1.0.15)
433+
i18n-tasks
431434
image_processing
432435
jsbundling-rails (~> 1.3)
433436
kaminari-i18n
434437
launchy
438+
ostruct
435439
pg
436440
puma
437441
pundit
@@ -444,14 +448,15 @@ DEPENDENCIES
444448
sprockets-rails (~> 3.5)
445449
standard
446450
timecop
451+
tsort
447452
uglifier
448453
webmock
449454
webrick
450455
xpath (= 3.2.0)
451456
yard
452457

453458
RUBY VERSION
454-
ruby 3.4.6p54
459+
ruby 4.0.0p0
455460

456461
BUNDLED WITH
457462
2.4.22

gemfiles/pundit21.gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
source "https://rubygems.org"
44

5-
ruby "3.4.6"
5+
ruby "4.0.0"
66

77
gem "administrate-field-image"
8+
gem "benchmark"
89
gem "faker"
910
gem "front_matter_parser"
1011
gem "globalid"
1112
gem "image_processing"
1213
gem "kaminari-i18n"
14+
gem "ostruct"
1315
gem "pg"
1416
gem "puma"
1517
gem "pundit", "~> 2.1.0"
1618
gem "redcarpet"
1719
gem "sentry-rails"
1820
gem "sentry-ruby"
21+
gem "tsort"
1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
2124
gem "sprockets-rails", "~> 3.5"
@@ -26,7 +29,7 @@ group :development, :test do
2629
gem "byebug"
2730
gem "dotenv-rails"
2831
gem "factory_bot_rails"
29-
gem "i18n-tasks", "1.0.15"
32+
gem "i18n-tasks"
3033
gem "standard"
3134
gem "yard"
3235
end

gemfiles/rails60.gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
source "https://rubygems.org"
44

5-
ruby "3.4.6"
5+
ruby "4.0.0"
66

77
gem "administrate-field-image"
8+
gem "benchmark"
89
gem "faker"
910
gem "front_matter_parser"
1011
gem "globalid"
1112
gem "image_processing"
1213
gem "kaminari-i18n"
14+
gem "ostruct"
1315
gem "pg"
1416
gem "puma"
1517
gem "pundit"
1618
gem "redcarpet"
1719
gem "sentry-rails"
1820
gem "sentry-ruby"
21+
gem "tsort"
1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
2124
gem "sprockets-rails", "~> 3.4"
@@ -30,7 +33,7 @@ group :development, :test do
3033
gem "byebug"
3134
gem "dotenv-rails"
3235
gem "factory_bot_rails"
33-
gem "i18n-tasks", "1.0.15"
36+
gem "i18n-tasks"
3437
gem "standard"
3538
gem "yard"
3639
end

gemfiles/rails61.gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
source "https://rubygems.org"
44

5-
ruby "3.4.6"
5+
ruby "4.0.0"
66

77
gem "administrate-field-image"
8+
gem "benchmark"
89
gem "faker"
910
gem "front_matter_parser"
1011
gem "globalid"
1112
gem "image_processing"
1213
gem "kaminari-i18n"
14+
gem "ostruct"
1315
gem "pg"
1416
gem "puma"
1517
gem "pundit"
1618
gem "redcarpet"
1719
gem "sentry-rails"
1820
gem "sentry-ruby"
21+
gem "tsort"
1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
2124
gem "sprockets-rails", "~> 3.5"
@@ -29,7 +32,7 @@ group :development, :test do
2932
gem "byebug"
3033
gem "dotenv-rails"
3134
gem "factory_bot_rails"
32-
gem "i18n-tasks", "1.0.15"
35+
gem "i18n-tasks"
3336
gem "standard"
3437
gem "yard"
3538
end

gemfiles/rails70.gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
source "https://rubygems.org"
44

5-
ruby "3.4.6"
5+
ruby "4.0.0"
66

77
gem "administrate-field-image"
8+
gem "benchmark"
89
gem "faker"
910
gem "front_matter_parser"
1011
gem "globalid"
1112
gem "image_processing"
1213
gem "kaminari-i18n"
14+
gem "ostruct"
1315
gem "pg"
1416
gem "puma"
1517
gem "pundit"
1618
gem "redcarpet"
1719
gem "sentry-rails"
1820
gem "sentry-ruby"
21+
gem "tsort"
1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
2124
gem "sprockets-rails", "~> 3.5"
@@ -27,7 +30,7 @@ group :development, :test do
2730
gem "byebug"
2831
gem "dotenv-rails"
2932
gem "factory_bot_rails"
30-
gem "i18n-tasks", "1.0.15"
33+
gem "i18n-tasks"
3134
gem "standard"
3235
gem "yard"
3336
end

gemfiles/rails80.gemfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
source "https://rubygems.org"
44

5-
ruby "3.4.6"
5+
ruby "4.0.0"
66

77
gem "administrate-field-image"
8+
gem "benchmark"
89
gem "faker"
910
gem "front_matter_parser"
1011
gem "globalid"
1112
gem "image_processing"
1213
gem "kaminari-i18n"
14+
gem "ostruct"
1315
gem "pg"
1416
gem "puma"
1517
gem "pundit"
1618
gem "redcarpet"
1719
gem "sentry-rails"
1820
gem "sentry-ruby"
21+
gem "tsort"
1922
gem "cssbundling-rails", "~> 1.4"
2023
gem "jsbundling-rails", "~> 1.3"
2124
gem "sprockets-rails", "~> 3.5"
@@ -27,7 +30,7 @@ group :development, :test do
2730
gem "byebug"
2831
gem "dotenv-rails"
2932
gem "factory_bot_rails"
30-
gem "i18n-tasks", "1.0.15"
33+
gem "i18n-tasks"
3134
gem "standard"
3235
gem "yard"
3336
end

0 commit comments

Comments
 (0)