Skip to content

Commit 46071dd

Browse files
authored
feat: update base image to ruby 3.2.1-alpine3.17 (#133)
1 parent 748a03b commit 46071dd

File tree

4 files changed

+75
-73
lines changed

4 files changed

+75
-73
lines changed

Dockerfile

+7-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ruby:2.7.8-alpine3.16
1+
FROM ruby:3.2.1-alpine3.17
22

33
ARG SUPERCRONIC_PLATFORM=amd64
44
ARG SUPERCRONIC_SHA1SUM=6817299e04457e5d6ec4809c72ee13a43e95ba41
@@ -25,22 +25,19 @@ WORKDIR $HOME
2525
COPY pact_broker/Gemfile pact_broker/Gemfile.lock $HOME/
2626
RUN cat Gemfile.lock | grep -A1 "BUNDLED WITH" | tail -n1 | awk '{print $1}' > BUNDLER_VERSION
2727
RUN set -ex && \
28-
apk add --update --no-cache make gcc libc-dev mariadb-dev postgresql-dev sqlite-dev git && \
28+
apk add --update --no-cache make gcc libc-dev mariadb-dev postgresql14-dev sqlite-dev git && \
2929
apk upgrade && \
3030
gem install bundler -v $(cat BUNDLER_VERSION) && \
31-
ls /usr/local/lib/ruby/gems/2.7.0 && \
32-
gem install rdoc -v "6.3.2" --install-dir /usr/local/lib/ruby/gems/2.7.0 && \
33-
gem uninstall --install-dir /usr/local/lib/ruby/gems/2.7.0 -x rake && \
34-
find /usr/local/lib/ruby -name webrick* -exec rm -rf {} + && \
35-
find /usr/local/lib/ruby -name rdoc-6.1* -exec rm -rf {} + && \
3631
bundle config set deployment 'true' && \
3732
bundle config set no-cache 'true' && \
3833
bundle config set without 'development test' && \
3934
bundle install && \
4035
rm -rf vendor/bundle/ruby/*/cache .bundle/cache && \
41-
find vendor/bundle/ruby/2.7.0/gems -name Gemfile.lock | xargs rm -rf {} + && \
42-
find /usr/local/bundle/gems/ -name *.pem | grep -e sample -e test | xargs rm -rf {} + && \
43-
find /usr/local/bundle/gems/ -name *.key | grep -e sample -e test | xargs rm -rf {} + && \
36+
find $HOME/vendor/bundle /usr/local/lib/ruby/gems \
37+
\( -name Gemfile.lock -o -name package-lock.json \) -exec rm -rf {} + && \
38+
find $HOME/vendor/bundle /usr/local/lib/ruby/gems \
39+
\( -name *.pem -o -name *.key -o -name *.java -o -name *.jar \) | \
40+
grep -e sample -e test -e spec | xargs rm -rf {} + && \
4441
apk del make gcc libc-dev git
4542

4643
# Install source

pact_broker/.ruby-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.7.7
1+
3.2.1

pact_broker/Gemfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@ gem "mysql2", "~>0.3"
77
gem "sqlite3", "~>1.6"
88
gem "rake", "~> 13.0"
99

10-
# Need to manually add Webrick because we deleted it from the underlying Docker image
11-
# because of a vulnerability, and Webmachine requires it in the adapters.rb file.
12-
gem "webrick", "~> 1.6"
10+
# While https://github.com/brandonhilkert/sucker_punch/pull/253 is outstanding
11+
gem "sucker_punch", git: "https://github.com/pact-foundation/sucker_punch.git", ref: "fix/rename-is-singleton-class-method-2"

pact_broker/Gemfile.lock

+65-59
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
GIT
2+
remote: https://github.com/pact-foundation/sucker_punch.git
3+
revision: 573ff03c5f689568efbb733ed2997728f0098d5a
4+
ref: fix/rename-is-singleton-class-method-2
5+
specs:
6+
sucker_punch (2.1.2)
7+
concurrent-ruby (~> 1.0)
8+
19
GEM
210
remote: https://rubygems.org/
311
specs:
@@ -8,55 +16,52 @@ GEM
816
concurrent-ruby (1.2.2)
917
crass (1.0.6)
1018
declarative (0.0.20)
11-
declarative-builder (0.1.0)
12-
declarative-option (< 0.2.0)
13-
declarative-option (0.1.0)
1419
diff-lcs (1.5.0)
15-
disposable (0.4.7)
20+
disposable (0.6.3)
1621
declarative (>= 0.0.9, < 1.0.0)
17-
declarative-builder (< 0.2.0)
18-
declarative-option (< 0.2.0)
19-
representable (>= 2.4.0, <= 3.1.0)
20-
uber (< 0.2.0)
21-
dry-configurable (0.12.1)
22+
representable (>= 3.1.1, < 4)
23+
dry-configurable (1.0.1)
24+
dry-core (~> 1.0, < 2)
25+
zeitwerk (~> 2.6)
26+
dry-core (1.0.0)
2227
concurrent-ruby (~> 1.0)
23-
dry-core (~> 0.5, >= 0.5.0)
24-
dry-container (0.8.0)
28+
zeitwerk (~> 2.6)
29+
dry-inflector (1.0.0)
30+
dry-initializer (3.1.1)
31+
dry-logic (1.5.0)
2532
concurrent-ruby (~> 1.0)
26-
dry-configurable (~> 0.1, >= 0.1.3)
27-
dry-core (0.9.1)
33+
dry-core (~> 1.0, < 2)
34+
zeitwerk (~> 2.6)
35+
dry-schema (1.13.1)
2836
concurrent-ruby (~> 1.0)
37+
dry-configurable (~> 1.0, >= 1.0.1)
38+
dry-core (~> 1.0, < 2)
39+
dry-initializer (~> 3.0)
40+
dry-logic (>= 1.4, < 2)
41+
dry-types (>= 1.7, < 2)
2942
zeitwerk (~> 2.6)
30-
dry-equalizer (0.3.0)
31-
dry-logic (0.4.2)
32-
dry-container (~> 0.2, >= 0.2.6)
33-
dry-core (~> 0.2)
34-
dry-equalizer (~> 0.2)
35-
dry-types (0.10.3)
43+
dry-types (1.7.1)
3644
concurrent-ruby (~> 1.0)
37-
dry-configurable (~> 0.1)
38-
dry-container (~> 0.3)
39-
dry-core (~> 0.2, >= 0.2.1)
40-
dry-equalizer (~> 0.2)
41-
dry-logic (~> 0.4, >= 0.4.0)
42-
inflecto (~> 0.0.0, >= 0.0.2)
43-
dry-validation (0.10.7)
45+
dry-core (~> 1.0)
46+
dry-inflector (~> 1.0)
47+
dry-logic (~> 1.4)
48+
zeitwerk (~> 2.6)
49+
dry-validation (1.10.0)
4450
concurrent-ruby (~> 1.0)
45-
dry-configurable (~> 0.1, >= 0.1.3)
46-
dry-core (~> 0.2, >= 0.2.1)
47-
dry-equalizer (~> 0.2)
48-
dry-logic (~> 0.4, >= 0.4.0)
49-
dry-types (~> 0.9, >= 0.9.0)
51+
dry-core (~> 1.0, < 2)
52+
dry-initializer (~> 3.0)
53+
dry-schema (>= 1.12, < 2)
54+
zeitwerk (~> 2.6)
5055
expgen (0.1.1)
5156
parslet
5257
haml (5.2.2)
5358
temple (>= 0.8.0)
5459
tilt
55-
i18n (1.12.0)
60+
i18n (1.13.0)
5661
concurrent-ruby (~> 1.0)
57-
inflecto (0.0.2)
5862
json (2.6.3)
59-
mini_portile2 (2.8.1)
63+
mini_portile2 (2.8.2)
64+
moments (0.2.0)
6065
multi_json (1.15.0)
6166
mustermann (2.0.2)
6267
ruby2_keywords (~> 0.0.1)
@@ -70,21 +75,19 @@ GEM
7075
diff-lcs (~> 1.4)
7176
expgen (~> 0.1)
7277
rainbow (~> 3.1.1)
73-
pact_broker (2.106.0)
78+
pact_broker (2.107.0)
7479
anyway_config (~> 2.1)
75-
dry-configurable (= 0.12.1)
76-
dry-container (= 0.8.0)
77-
dry-logic (= 0.4.2)
78-
dry-types (~> 0.10.3)
79-
dry-validation (~> 0.10.5)
80+
dry-validation (~> 1.8)
8081
haml (~> 5.0)
8182
json (~> 2.3)
83+
moments (~> 0.2)
8284
pact-support (~> 1.16, >= 1.16.4)
8385
padrino-core (~> 0.14, >= 0.14.3)
86+
psych (~> 4.0)
8487
rack (~> 2.2, >= 2.2.3)
8588
rack-protection (>= 2.0.8.1, < 3.0)
8689
redcarpet (~> 3.5, >= 3.5.1)
87-
reform (~> 2.3.3)
90+
reform (~> 2.6)
8891
request_store (~> 1.5)
8992
roar (~> 1.1)
9093
sanitize (~> 6.0)
@@ -94,36 +97,39 @@ GEM
9497
sinatra (>= 2.0.8.1, < 3.0)
9598
sucker_punch (~> 2.0)
9699
table_print (~> 1.5)
97-
webmachine (= 1.6.0)
100+
webmachine (>= 2.0.0.beta, < 3.0)
101+
webrick (~> 1.8)
98102
wisper (~> 2.0)
99103
padrino-core (0.15.3)
100104
padrino-support (= 0.15.3)
101105
sinatra (>= 2.2.4)
102106
thor (~> 1.0)
103107
padrino-support (0.15.3)
104108
parslet (2.0.0)
105-
pg (1.4.6)
109+
pg (1.5.3)
110+
psych (4.0.6)
111+
stringio
106112
puma (5.6.5)
107113
nio4r (~> 2.0)
108114
racc (1.6.2)
109-
rack (2.2.6.4)
115+
rack (2.2.7)
110116
rack-protection (2.2.4)
111117
rack
112118
rainbow (3.1.1)
113119
rake (13.0.6)
114120
redcarpet (3.6.0)
115-
reform (2.3.3)
116-
disposable (>= 0.4.2, < 0.5.0)
117-
representable (>= 2.4.0, < 3.1.0)
121+
reform (2.6.2)
122+
disposable (>= 0.5.0, < 1.0.0)
123+
representable (>= 3.1.1, < 4)
118124
uber (< 0.2.0)
119-
representable (3.0.4)
125+
representable (3.2.0)
120126
declarative (< 0.1.0)
121-
declarative-option (< 0.2.0)
127+
trailblazer-option (>= 0.1.1, < 0.2.0)
122128
uber (< 0.2.0)
123129
request_store (1.5.1)
124130
rack (>= 1.4)
125-
roar (1.1.1)
126-
representable (~> 3.0)
131+
roar (1.2.0)
132+
representable (~> 3.1)
127133
ruby-next-core (0.15.3)
128134
ruby2_keywords (0.0.5)
129135
sanitize (6.0.1)
@@ -132,28 +138,28 @@ GEM
132138
semantic_logger (4.13.0)
133139
concurrent-ruby (~> 1.0)
134140
semver2 (3.4.2)
135-
sequel (5.67.0)
141+
sequel (5.68.0)
136142
sinatra (2.2.4)
137143
mustermann (~> 2.0)
138144
rack (~> 2.2)
139145
rack-protection (= 2.2.4)
140146
tilt (~> 2.0)
141147
sqlite3 (1.6.2)
142148
mini_portile2 (~> 2.8.0)
143-
sucker_punch (2.1.2)
144-
concurrent-ruby (~> 1.0)
149+
stringio (3.0.6)
145150
table_print (1.5.7)
146151
temple (0.10.0)
147152
thor (1.2.1)
148153
tilt (2.1.0)
154+
trailblazer-option (0.1.2)
149155
uber (0.1.0)
150-
webmachine (1.6.0)
151-
as-notifications (~> 1.0)
156+
webmachine (2.0.0)
157+
as-notifications (>= 1.0.2, < 2.0)
152158
i18n (>= 0.4.0)
153159
multi_json
154160
webrick (1.8.1)
155161
wisper (2.0.1)
156-
zeitwerk (2.6.7)
162+
zeitwerk (2.6.8)
157163

158164
PLATFORMS
159165
ruby
@@ -165,7 +171,7 @@ DEPENDENCIES
165171
puma (~> 5.6)
166172
rake (~> 13.0)
167173
sqlite3 (~> 1.6)
168-
webrick (~> 1.6)
174+
sucker_punch!
169175

170176
BUNDLED WITH
171-
2.4.7
177+
2.4.12

0 commit comments

Comments
 (0)