Skip to content

Commit fa736a0

Browse files
committed
Update Ruby 3.2.2 -> 4.0.4
* Use alpine 3.23 with a pinned hash. * Make Gemfile and Dockerfile uniform across Ruby repos to allow shared layers.
1 parent 9142ce3 commit fa736a0

4 files changed

Lines changed: 93 additions & 47 deletions

File tree

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.2.2
1+
ruby-4.0.4

Dockerfile

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
1-
FROM ruby:3.2.2-alpine3.18 AS build
1+
FROM ruby:4.0.4-alpine3.23@sha256:ac9c68cd41d6a49a9138fca74aa344968e8ddb5e20d8a3b1f455b97c7148f8da AS build
22

33
RUN apk update && apk upgrade && \
44
apk add --no-cache git openssh build-base gcc wget git
55

6-
COPY Gemfile Gemfile.lock .
6+
COPY Gemfile Gemfile.lock ./
77

8-
RUN gem install bundler:2.4.18 && \
8+
RUN gem install bundler:4.0.11 && \
99
bundle config set without 'development test' && \
1010
bundle install
1111

12-
RUN bundle install
13-
14-
FROM ruby:3.2.2-alpine3.18 AS runtime
12+
FROM ruby:4.0.4-alpine3.23@sha256:ac9c68cd41d6a49a9138fca74aa344968e8ddb5e20d8a3b1f455b97c7148f8da AS runtime
1513

1614
RUN apk add --no-cache bash
1715

18-
WORKDIR /opt/representer
19-
2016
COPY --from=build /usr/local/bundle /usr/local/bundle
2117

18+
WORKDIR /opt/representer
19+
2220
COPY . .
2321

2422
ENTRYPOINT ["sh", "/opt/representer/bin/run.sh"]

Gemfile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,22 @@ git_source(:github) do |repo_name|
55
"https://github.com/#{repo_name}.git"
66
end
77

8+
gem 'activesupport'
89
gem 'json'
9-
gem 'mandate'
10+
gem 'mutex_m'
1011
gem 'rake'
1112

12-
gem 'parser'
13-
gem 'rubocop'
14-
gem 'rubocop-minitest'
15-
gem 'rubocop-performance'
1613

1714
group :test do
18-
gem 'minitest', '~> 5.10', '!= 5.10.2'
15+
gem 'mandate'
16+
gem 'minitest'
1917
gem 'minitest-stub-const'
2018
gem 'mocha'
2119
gem 'pry'
20+
gem 'sexp_processor'
2221
gem 'simplecov', '~> 0.17.0'
22+
gem 'rubocop'
23+
gem 'rubocop-ast'
24+
gem 'rubocop-minitest'
25+
gem 'rubocop-performance'
2326
end

Gemfile.lock

Lines changed: 77 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,115 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
ast (2.4.2)
4+
activesupport (8.1.3)
5+
base64
6+
bigdecimal
7+
concurrent-ruby (~> 1.0, >= 1.3.1)
8+
connection_pool (>= 2.2.5)
9+
drb
10+
i18n (>= 1.6, < 2)
11+
json
12+
logger (>= 1.4.2)
13+
minitest (>= 5.1)
14+
securerandom (>= 0.3)
15+
tzinfo (~> 2.0, >= 2.0.5)
16+
uri (>= 0.13.1)
17+
ast (2.4.3)
18+
base64 (0.3.0)
19+
bigdecimal (4.1.2)
520
coderay (1.1.3)
6-
docile (1.4.0)
7-
json (2.6.3)
8-
mandate (0.3.0)
9-
method_source (1.0.0)
10-
minitest (5.19.0)
21+
concurrent-ruby (1.3.6)
22+
connection_pool (3.0.2)
23+
docile (1.4.1)
24+
drb (2.2.3)
25+
i18n (1.14.8)
26+
concurrent-ruby (~> 1.0)
27+
io-console (0.8.2)
28+
json (2.19.5)
29+
language_server-protocol (3.17.0.5)
30+
lint_roller (1.1.0)
31+
logger (1.7.0)
32+
mandate (2.2.0)
33+
method_source (1.1.0)
34+
minitest (6.0.6)
35+
drb (~> 2.0)
36+
prism (~> 1.5)
1137
minitest-stub-const (0.6)
12-
mocha (2.1.0)
38+
mocha (3.1.0)
1339
ruby2_keywords (>= 0.0.5)
14-
parallel (1.23.0)
15-
parser (3.2.2.3)
40+
mutex_m (0.3.0)
41+
parallel (2.1.0)
42+
parser (3.3.11.1)
1643
ast (~> 2.4.1)
1744
racc
18-
pry (0.13.1)
45+
prism (1.9.0)
46+
pry (0.16.0)
1947
coderay (~> 1.1)
2048
method_source (~> 1.0)
21-
racc (1.7.1)
49+
reline (>= 0.6.0)
50+
racc (1.8.1)
2251
rainbow (3.1.1)
23-
rake (13.0.1)
24-
regexp_parser (2.8.1)
25-
rexml (3.4.2)
26-
rubocop (1.50.2)
52+
rake (13.4.2)
53+
regexp_parser (2.12.0)
54+
reline (0.6.3)
55+
io-console (~> 0.5)
56+
rubocop (1.86.1)
2757
json (~> 2.3)
28-
parallel (~> 1.10)
29-
parser (>= 3.2.0.0)
58+
language_server-protocol (~> 3.17.0.2)
59+
lint_roller (~> 1.1.0)
60+
parallel (>= 1.10)
61+
parser (>= 3.3.0.2)
3062
rainbow (>= 2.2.2, < 4.0)
31-
regexp_parser (>= 1.8, < 3.0)
32-
rexml (>= 3.2.5, < 4.0)
33-
rubocop-ast (>= 1.28.0, < 2.0)
63+
regexp_parser (>= 2.9.3, < 3.0)
64+
rubocop-ast (>= 1.49.0, < 2.0)
3465
ruby-progressbar (~> 1.7)
35-
unicode-display_width (>= 2.4.0, < 3.0)
36-
rubocop-ast (1.29.0)
37-
parser (>= 3.2.1.0)
38-
rubocop-minitest (0.10.1)
39-
rubocop (>= 0.87)
40-
rubocop-performance (1.9.0)
41-
rubocop (>= 0.90.0, < 2.0)
42-
rubocop-ast (>= 0.4.0)
66+
unicode-display_width (>= 2.4.0, < 4.0)
67+
rubocop-ast (1.49.1)
68+
parser (>= 3.3.7.2)
69+
prism (~> 1.7)
70+
rubocop-minitest (0.39.1)
71+
lint_roller (~> 1.1)
72+
rubocop (>= 1.75.0, < 2.0)
73+
rubocop-ast (>= 1.38.0, < 2.0)
74+
rubocop-performance (1.26.1)
75+
lint_roller (~> 1.1)
76+
rubocop (>= 1.75.0, < 2.0)
77+
rubocop-ast (>= 1.47.1, < 2.0)
4378
ruby-progressbar (1.13.0)
4479
ruby2_keywords (0.0.5)
80+
securerandom (0.4.1)
81+
sexp_processor (4.17.5)
4582
simplecov (0.17.1)
4683
docile (~> 1.1)
4784
json (>= 1.8, < 3)
4885
simplecov-html (~> 0.10.0)
4986
simplecov-html (0.10.2)
50-
unicode-display_width (2.4.2)
87+
tzinfo (2.0.6)
88+
concurrent-ruby (~> 1.0)
89+
unicode-display_width (3.2.0)
90+
unicode-emoji (~> 4.1)
91+
unicode-emoji (4.2.0)
92+
uri (1.1.1)
5193

5294
PLATFORMS
5395
ruby
5496

5597
DEPENDENCIES
98+
activesupport
5699
json
57100
mandate
58-
minitest (~> 5.10, != 5.10.2)
101+
minitest
59102
minitest-stub-const
60103
mocha
61-
parser
104+
mutex_m
62105
pry
63106
rake
64107
rubocop
108+
rubocop-ast
65109
rubocop-minitest
66110
rubocop-performance
111+
sexp_processor
67112
simplecov (~> 0.17.0)
68113

69114
BUNDLED WITH
70-
2.4.18
115+
4.0.11

0 commit comments

Comments
 (0)