Skip to content

Commit aec120a

Browse files
authored
Merge pull request #8 from uvlad7/ci/ruby-4
Test Ruby 4 in CI
2 parents 6e8fd1d + 807df8d commit aec120a

7 files changed

Lines changed: 338 additions & 81 deletions

File tree

‎.github/workflows/main.yml‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@ jobs:
1717
- '3.0.7'
1818
- '3.2.9'
1919
- '3.4.5'
20+
- '4.0'
21+
- head
2022
- '2.7.8'
2123
- '2.3.8'
2224
- '2.5.9'
2325
env:
24-
BUNDLE_GEMFILE: ${{ (matrix.ruby >= '3.4' && 'Gemfile_ruby_3_4') || (matrix.ruby >= '2.7' && 'Gemfile') || (matrix.ruby >= '2.5' && 'Gemfile_ruby_2_5') || 'Gemfile_ruby_2_3' }}
26+
BUNDLE_GEMFILE: ${{ (matrix.ruby == 'head' && 'Gemfile_ruby_4_1') || (matrix.ruby >= '3.4' && 'Gemfile_ruby_3_4') || (matrix.ruby >= '2.7' && 'Gemfile') || (matrix.ruby >= '2.5' && 'Gemfile_ruby_2_5') || 'Gemfile_ruby_2_3' }}
27+
BUNDLE_FORCE_RUBY_PLATFORM: ${{ matrix.ruby == 'head' && 'true' || '' }}
2528

2629
steps:
2730
- name: Dependencies
@@ -34,9 +37,9 @@ jobs:
3437
with:
3538
ruby-version: ${{ matrix.ruby }}
3639
bundler-cache: true
37-
rubygems: ${{ (matrix.ruby >= '2.7' && '3.4.20') || '3.2.3' }}
40+
rubygems: ${{ ((matrix.ruby == 'head' || matrix.ruby >= '2.7') && '3.4.20') || '3.2.3' }}
3841
- name: Run the default task
3942
run: bundle exec rake
4043
- name: Run valgrind
41-
if: ${{ matrix.ruby >= '2.7' }}
44+
if: ${{ matrix.ruby == 'head' || matrix.ruby >= '2.7' }}
4245
run: bundle exec rake spec:valgrind

‎Gemfile‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ if RUBY_VERSION >= "2.7"
4444
# gem "json-next", "~> 1.2"
4545
gem "rainbow", "~> 3.1"
4646
# gem "rb_json5", "~> 0.3.0" - extremely slow
47-
gem "ffi-yajl", "~> 3.0"
47+
gem "ffi-yajl", "~> 3.0" if RUBY_VERSION < "4.1"
4848
gem "simdjson", "~> 1.0"
49-
gem "yaji", "~> 0.3.6"
49+
gem "yaji", "~> 0.3.6" if RUBY_VERSION < "4.1"
5050
gem "yajl-ffi", "~> 1.0"
51-
gem "yajl-ruby", "~> 1.4"
51+
gem "yajl-ruby", "~> 1.4" if RUBY_VERSION < "4.1"
5252
end
5353

5454
# test on the oldest version of the json gem we can expect based on the required_ruby_version

‎Gemfile_ruby_3_4.lock‎

Lines changed: 92 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -7,115 +7,153 @@ PATH
77
GEM
88
remote: https://rubygems.org/
99
specs:
10-
activesupport (7.1.5.2)
10+
activesupport (7.2.3.2)
1111
base64
1212
benchmark (>= 0.3)
1313
bigdecimal
14-
concurrent-ruby (~> 1.0, >= 1.0.2)
14+
concurrent-ruby (~> 1.0, >= 1.3.1)
1515
connection_pool (>= 2.2.5)
1616
drb
1717
i18n (>= 1.6, < 2)
1818
logger (>= 1.4.2)
19-
minitest (>= 5.1)
20-
mutex_m
19+
minitest (>= 5.1, < 6)
2120
securerandom (>= 0.3)
22-
tzinfo (~> 2.0)
23-
ast (2.4.2)
21+
tzinfo (~> 2.0, >= 2.0.5)
22+
ast (2.4.3)
2423
base64 (0.3.0)
2524
benchmark (0.4.1)
26-
benchmark-ips (2.14.0)
25+
benchmark-ips (2.15.1)
2726
benchmark-memory (0.2.0)
2827
memory_profiler (~> 1)
29-
bigdecimal (3.2.2)
30-
byebug (12.0.0)
28+
bigdecimal (4.1.2)
29+
byebug (13.0.0)
30+
reline (>= 0.6.0)
3131
coderay (1.1.3)
32-
concurrent-ruby (1.3.5)
33-
connection_pool (2.5.3)
34-
diff-lcs (1.5.1)
32+
concurrent-ruby (1.3.8)
33+
connection_pool (3.0.2)
34+
diff-lcs (1.6.2)
3535
drb (2.2.3)
36-
ffi (1.17.2-arm64-darwin)
37-
ffi (1.17.2-x86_64-linux-gnu)
38-
ffi-yajl (3.0.0)
39-
libyajl2 (>= 1.2)
40-
i18n (1.14.7)
36+
ffi (1.17.4)
37+
ffi (1.17.4-aarch64-linux-gnu)
38+
ffi (1.17.4-aarch64-linux-musl)
39+
ffi (1.17.4-arm-linux-gnu)
40+
ffi (1.17.4-arm-linux-musl)
41+
ffi (1.17.4-arm64-darwin)
42+
ffi (1.17.4-x86_64-darwin)
43+
ffi (1.17.4-x86_64-linux-gnu)
44+
ffi (1.17.4-x86_64-linux-musl)
45+
ffi-yajl (3.0.1)
46+
libyajl2 (>= 2.1)
47+
i18n (1.15.2)
4148
concurrent-ruby (~> 1.0)
42-
json (2.13.2)
43-
language_server-protocol (3.17.0.3)
49+
io-console (0.9.2)
50+
json (2.21.2)
51+
language_server-protocol (3.17.0.6)
4452
libyajl2 (2.1.0)
53+
lint_roller (1.1.0)
4554
logger (1.7.0)
46-
memory_profiler (1.0.2)
55+
memory_profiler (1.1.0)
4756
method_source (1.1.0)
48-
minitest (5.25.5)
49-
mutex_m (0.3.0)
50-
nokogiri (1.18.9-arm64-darwin)
57+
mini_portile2 (2.8.9)
58+
minitest (5.27.0)
59+
nokogiri (1.19.4)
60+
mini_portile2 (~> 2.8.2)
5161
racc (~> 1.4)
52-
nokogiri (1.18.9-x86_64-linux-gnu)
62+
nokogiri (1.19.4-aarch64-linux-gnu)
5363
racc (~> 1.4)
54-
oj (3.16.11)
64+
nokogiri (1.19.4-aarch64-linux-musl)
65+
racc (~> 1.4)
66+
nokogiri (1.19.4-arm-linux-gnu)
67+
racc (~> 1.4)
68+
nokogiri (1.19.4-arm-linux-musl)
69+
racc (~> 1.4)
70+
nokogiri (1.19.4-arm64-darwin)
71+
racc (~> 1.4)
72+
nokogiri (1.19.4-x86_64-darwin)
73+
racc (~> 1.4)
74+
nokogiri (1.19.4-x86_64-linux-gnu)
75+
racc (~> 1.4)
76+
nokogiri (1.19.4-x86_64-linux-musl)
77+
racc (~> 1.4)
78+
oj (3.17.6)
5579
bigdecimal (>= 3.0)
5680
ostruct (>= 0.2)
5781
ostruct (0.6.3)
58-
parallel (1.26.3)
59-
parser (3.3.6.0)
82+
parallel (2.1.0)
83+
parser (3.3.12.0)
6084
ast (~> 2.4.1)
6185
racc
86+
prism (1.9.0)
6287
pry (0.15.2)
6388
coderay (~> 1.1)
6489
method_source (~> 1.0)
65-
pry-byebug (3.11.0)
66-
byebug (~> 12.0)
67-
pry (>= 0.13, < 0.16)
90+
pry-byebug (3.12.0)
91+
byebug (~> 13.0)
92+
pry (>= 0.13, < 0.17)
6893
racc (1.8.1)
6994
rainbow (3.1.1)
70-
rake (13.2.1)
71-
rake-compiler (1.2.8)
95+
rake (13.4.2)
96+
rake-compiler (1.3.1)
7297
rake
73-
regexp_parser (2.9.3)
74-
rspec (3.13.0)
98+
regexp_parser (2.12.0)
99+
reline (0.7.0)
100+
io-console (~> 0.5)
101+
rspec (3.13.2)
75102
rspec-core (~> 3.13.0)
76103
rspec-expectations (~> 3.13.0)
77104
rspec-mocks (~> 3.13.0)
78-
rspec-core (3.13.2)
105+
rspec-core (3.13.6)
79106
rspec-support (~> 3.13.0)
80-
rspec-expectations (3.13.3)
107+
rspec-expectations (3.13.5)
81108
diff-lcs (>= 1.2.0, < 2.0)
82109
rspec-support (~> 3.13.0)
83-
rspec-mocks (3.13.2)
110+
rspec-mocks (3.13.8)
84111
diff-lcs (>= 1.2.0, < 2.0)
85112
rspec-support (~> 3.13.0)
86-
rspec-support (3.13.2)
87-
rubocop (1.69.1)
88-
json (~> 2.3)
89-
language_server-protocol (>= 3.17.0)
90-
parallel (~> 1.10)
113+
rspec-support (3.13.7)
114+
rubocop (1.90.0)
115+
json (>= 2.3)
116+
language_server-protocol (~> 3.17.0.2)
117+
lint_roller (~> 1.1.0)
118+
parallel (>= 1.10)
91119
parser (>= 3.3.0.2)
92120
rainbow (>= 2.2.2, < 4.0)
93121
regexp_parser (>= 2.9.3, < 3.0)
94-
rubocop-ast (>= 1.36.2, < 2.0)
122+
rubocop-ast (>= 1.49.0, < 2.0)
95123
ruby-progressbar (~> 1.7)
96124
unicode-display_width (>= 2.4.0, < 4.0)
97-
rubocop-ast (1.36.2)
98-
parser (>= 3.3.1.0)
99-
rubocop-rspec (3.3.0)
100-
rubocop (~> 1.61)
125+
rubocop-ast (1.50.0)
126+
parser (>= 3.3.7.2)
127+
prism (~> 1.7)
128+
rubocop-rspec (3.10.2)
129+
lint_roller (~> 1.1)
130+
regexp_parser (>= 2.0)
131+
rubocop (~> 1.86, >= 1.86.2)
101132
ruby-progressbar (1.13.0)
102133
ruby_memcheck (2.3.0)
103134
nokogiri
104-
securerandom (0.3.2)
135+
securerandom (0.4.1)
105136
simdjson (1.0.1)
106137
tzinfo (2.0.6)
107138
concurrent-ruby (~> 1.0)
108-
unicode-display_width (3.1.2)
109-
unicode-emoji (~> 4.0, >= 4.0.4)
110-
unicode-emoji (4.0.4)
139+
unicode-display_width (3.2.0)
140+
unicode-emoji (~> 4.1)
141+
unicode-emoji (4.2.0)
111142
yaji (0.3.6)
112143
yajl-ffi (1.0.0)
113144
ffi (~> 1.16)
114145
yajl-ruby (1.4.3)
115146

116147
PLATFORMS
117-
arm64-darwin-23
118-
x86_64-linux
148+
aarch64-linux-gnu
149+
aarch64-linux-musl
150+
arm-linux-gnu
151+
arm-linux-musl
152+
arm64-darwin
153+
ruby
154+
x86_64-darwin
155+
x86_64-linux-gnu
156+
x86_64-linux-musl
119157

120158
DEPENDENCIES
121159
activesupport (~> 7.1)
@@ -142,4 +180,4 @@ DEPENDENCIES
142180
yajl-ruby (~> 1.4)
143181

144182
BUNDLED WITH
145-
2.4.20
183+
2.6.2

‎Gemfile_ruby_4_1‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Gemfile

0 commit comments

Comments
 (0)