Skip to content

Commit 7ac8824

Browse files
rosaclaude
andcommitted
Upgrade to Ruby 3.2+ and modernize CI workflow
Ruby 2.7 is EOL and incompatible with recent bundler versions. Also update actions/checkout to v4 and use bundler-cache. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f363014 commit 7ac8824

3 files changed

Lines changed: 111 additions & 67 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,13 @@ jobs:
55
runs-on: ubuntu-latest
66

77
steps:
8-
- uses: actions/checkout@v1
8+
- uses: actions/checkout@v4
99

1010
- name: Set up Ruby
1111
uses: ruby/setup-ruby@v1
1212
with:
13-
ruby-version: 2.7.8
14-
rubygems: latest
15-
16-
- name: Cache gem dependencies
17-
uses: actions/cache@v1
18-
with:
19-
path: vendor/bundle
20-
key: ${{ runner.os }}-bundler-${{ hashFiles('**/Gemfile.lock') }}
21-
restore-keys: ${{ runner.os }}-bundler-
22-
23-
- name: Install dependencies
24-
run: gem install bundler && bundle install --jobs 4 --retry 3 --path vendor/bundle
13+
ruby-version: 3.2
14+
bundler-cache: true
2515

2616
- name: Run tests
2717
run: bundle exec rake test

Gemfile.lock

Lines changed: 107 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
GIT
22
remote: https://github.com/basecamp/house-style.git
3-
revision: b3ad65254828e8e8019a0d9a6205aff9ad206a77
3+
revision: 6f73ca5c3fd5002b48aeede2d980f9b8fe047d55
44
branch: main
55
specs:
6-
rubocop-37signals (1.0.0)
7-
rubocop
8-
rubocop-minitest
9-
rubocop-performance
10-
rubocop-rails
6+
rubocop-37signals (1.2.1)
7+
rubocop (>= 1.72)
8+
rubocop-minitest (>= 0.37.0)
9+
rubocop-performance (>= 1.24)
10+
rubocop-rails (>= 2.30)
1111

1212
PATH
1313
remote: .
@@ -18,67 +18,121 @@ PATH
1818
GEM
1919
remote: https://rubygems.org/
2020
specs:
21-
activesupport (7.0.7.2)
22-
concurrent-ruby (~> 1.0, >= 1.0.2)
21+
activesupport (8.1.2)
22+
base64
23+
bigdecimal
24+
concurrent-ruby (~> 1.0, >= 1.3.1)
25+
connection_pool (>= 2.2.5)
26+
drb
2327
i18n (>= 1.6, < 2)
28+
json
29+
logger (>= 1.4.2)
2430
minitest (>= 5.1)
25-
tzinfo (~> 2.0)
26-
addressable (2.8.1)
27-
public_suffix (>= 2.0.2, < 6.0)
28-
ast (2.4.2)
29-
concurrent-ruby (1.2.2)
30-
crack (0.4.3)
31-
safe_yaml (~> 1.0.0)
32-
debug (1.7.1)
33-
irb (>= 1.5.0)
34-
reline (>= 0.3.1)
35-
hashdiff (1.0.0)
36-
i18n (1.14.1)
31+
securerandom (>= 0.3)
32+
tzinfo (~> 2.0, >= 2.0.5)
33+
uri (>= 0.13.1)
34+
addressable (2.8.9)
35+
public_suffix (>= 2.0.2, < 8.0)
36+
ast (2.4.3)
37+
base64 (0.3.0)
38+
bigdecimal (4.0.1)
39+
concurrent-ruby (1.3.6)
40+
connection_pool (3.0.2)
41+
crack (1.0.1)
42+
bigdecimal
43+
rexml
44+
date (3.5.1)
45+
debug (1.11.1)
46+
irb (~> 1.10)
47+
reline (>= 0.3.8)
48+
drb (2.2.3)
49+
erb (6.0.2)
50+
hashdiff (1.2.1)
51+
i18n (1.14.8)
3752
concurrent-ruby (~> 1.0)
38-
io-console (0.6.0)
39-
irb (1.6.2)
40-
reline (>= 0.3.0)
41-
json (2.6.3)
42-
minitest (5.17.0)
43-
parallel (1.22.1)
44-
parser (3.2.1.0)
53+
io-console (0.8.2)
54+
irb (1.17.0)
55+
pp (>= 0.6.0)
56+
prism (>= 1.3.0)
57+
rdoc (>= 4.0.0)
58+
reline (>= 0.4.2)
59+
json (2.18.1)
60+
json-schema (6.1.0)
61+
addressable (~> 2.8)
62+
bigdecimal (>= 3.1, < 5)
63+
language_server-protocol (3.17.0.5)
64+
lint_roller (1.1.0)
65+
logger (1.7.0)
66+
mcp (0.8.0)
67+
json-schema (>= 4.1)
68+
minitest (6.0.2)
69+
drb (~> 2.0)
70+
prism (~> 1.5)
71+
parallel (1.27.0)
72+
parser (3.3.10.2)
4573
ast (~> 2.4.1)
46-
public_suffix (5.0.0)
47-
rack (3.0.8)
74+
racc
75+
pp (0.6.3)
76+
prettyprint
77+
prettyprint (0.2.0)
78+
prism (1.9.0)
79+
psych (5.3.1)
80+
date
81+
stringio
82+
public_suffix (7.0.5)
83+
racc (1.8.1)
84+
rack (3.2.5)
4885
rainbow (3.1.1)
49-
rake (13.0.1)
50-
regexp_parser (2.7.0)
51-
reline (0.3.2)
86+
rake (13.3.1)
87+
rdoc (7.2.0)
88+
erb
89+
psych (>= 4.0.0)
90+
tsort
91+
regexp_parser (2.11.3)
92+
reline (0.6.3)
5293
io-console (~> 0.5)
53-
rexml (3.2.5)
54-
rubocop (1.45.1)
94+
rexml (3.4.4)
95+
rubocop (1.85.1)
5596
json (~> 2.3)
97+
language_server-protocol (~> 3.17.0.2)
98+
lint_roller (~> 1.1.0)
99+
mcp (~> 0.6)
56100
parallel (~> 1.10)
57-
parser (>= 3.2.0.0)
101+
parser (>= 3.3.0.2)
58102
rainbow (>= 2.2.2, < 4.0)
59-
regexp_parser (>= 1.8, < 3.0)
60-
rexml (>= 3.2.5, < 4.0)
61-
rubocop-ast (>= 1.24.1, < 2.0)
103+
regexp_parser (>= 2.9.3, < 3.0)
104+
rubocop-ast (>= 1.49.0, < 2.0)
62105
ruby-progressbar (~> 1.7)
63-
unicode-display_width (>= 2.4.0, < 3.0)
64-
rubocop-ast (1.26.0)
65-
parser (>= 3.2.1.0)
66-
rubocop-minitest (0.27.0)
67-
rubocop (>= 0.90, < 2.0)
68-
rubocop-performance (1.16.0)
69-
rubocop (>= 1.7.0, < 2.0)
70-
rubocop-ast (>= 0.4.0)
71-
rubocop-rails (2.19.1)
106+
unicode-display_width (>= 2.4.0, < 4.0)
107+
rubocop-ast (1.49.0)
108+
parser (>= 3.3.7.2)
109+
prism (~> 1.7)
110+
rubocop-minitest (0.39.1)
111+
lint_roller (~> 1.1)
112+
rubocop (>= 1.75.0, < 2.0)
113+
rubocop-ast (>= 1.38.0, < 2.0)
114+
rubocop-performance (1.26.1)
115+
lint_roller (~> 1.1)
116+
rubocop (>= 1.75.0, < 2.0)
117+
rubocop-ast (>= 1.47.1, < 2.0)
118+
rubocop-rails (2.34.3)
72119
activesupport (>= 4.2.0)
120+
lint_roller (~> 1.1)
73121
rack (>= 1.1)
74-
rubocop (>= 1.33.0, < 2.0)
75-
ruby-progressbar (1.11.0)
76-
safe_yaml (1.0.5)
122+
rubocop (>= 1.75.0, < 2.0)
123+
rubocop-ast (>= 1.44.0, < 2.0)
124+
ruby-progressbar (1.13.0)
125+
securerandom (0.4.1)
126+
stringio (3.2.0)
127+
tsort (0.2.0)
77128
tzinfo (2.0.6)
78129
concurrent-ruby (~> 1.0)
79-
unicode-display_width (2.4.2)
80-
webmock (3.8.0)
81-
addressable (>= 2.3.6)
130+
unicode-display_width (3.2.0)
131+
unicode-emoji (~> 4.1)
132+
unicode-emoji (4.2.0)
133+
uri (1.1.1)
134+
webmock (3.26.1)
135+
addressable (>= 2.8.0)
82136
crack (>= 0.3.2)
83137
hashdiff (>= 0.4.0, < 2.0.0)
84138

rspamd-ruby.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
88
s.summary = "Client for Rspamd's HTTP API"
99
s.homepage = "https://github.com/basecamp/rspamd-ruby"
1010

11-
s.required_ruby_version = ">= 2.7.8"
11+
s.required_ruby_version = ">= 3.2"
1212

1313
s.add_dependency "activesupport", ">= 6.0"
1414

0 commit comments

Comments
 (0)