Skip to content

Commit 168e434

Browse files
authored
Merge pull request #25 from ruby/copilot/sub-pr-23-again
Move rdfind dedup to intermediate aggregator stage, remove from final runtime image
2 parents b98af80 + a974825 commit 168e434

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

Dockerfile

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,21 @@ RUN rm -rf Rakefile versions/ patch/ DIST build/*/log build/*/ruby*/ \
159159
rm -f build/*/lib/libruby-static.a build/*/bin/gcc build/*/bin/cc
160160
RUN find /build-all-ruby -type f \( -name ruby -o -name '*.so' \) -exec sh -c 'file $1 | grep -q "not stripped"' - '{}' \; -print0 | xargs -0 strip
161161

162+
# =============================================================================
163+
# Aggregator: Combine all build outputs and deduplicate with rdfind
164+
# (rdfind is already installed in builder-bullseye)
165+
# =============================================================================
166+
FROM builder-bullseye AS aggregator
167+
168+
COPY --from=ruby-0.x-2.0 /build-all-ruby/ /build-all-ruby/
169+
COPY --from=ruby-1.2-1.9 /build-all-ruby/ /build-all-ruby/
170+
COPY --from=ruby-2.1-2.4 /build-all-ruby/ /build-all-ruby/
171+
COPY --from=ruby-2.5-2.7 /build-all-ruby/ /build-all-ruby/
172+
COPY --from=ruby-3.0-3.2 /build-all-ruby/ /build-all-ruby/
173+
COPY --from=ruby-3.3-4.0 /build-all-ruby/ /build-all-ruby/
174+
175+
RUN rdfind -makehardlinks true -makeresultsfile false /build-all-ruby
176+
162177
# =============================================================================
163178
# Final: Runtime image
164179
# =============================================================================
@@ -191,26 +206,18 @@ RUN dpkg --add-architecture i386 \
191206
libssl1.1:amd64 \
192207
zlib1g:amd64 \
193208
gcc \
194-
rdfind \
195209
${system_ruby} \
196210
&& rm -rf /var/lib/apt/lists/*
197211

198-
COPY --from=ruby-0.x-2.0 /build-all-ruby/ /build-all-ruby/
212+
COPY --from=aggregator /build-all-ruby/ /build-all-ruby/
199213
COPY --from=ruby-0.x-2.0 /all-ruby/ /all-ruby/
200-
COPY --from=ruby-1.2-1.9 /build-all-ruby/ /build-all-ruby/
201214
COPY --from=ruby-1.2-1.9 /all-ruby/bin/ /all-ruby/bin/
202-
COPY --from=ruby-2.1-2.4 /build-all-ruby/ /build-all-ruby/
203215
COPY --from=ruby-2.1-2.4 /all-ruby/bin/ /all-ruby/bin/
204-
COPY --from=ruby-2.5-2.7 /build-all-ruby/ /build-all-ruby/
205216
COPY --from=ruby-2.5-2.7 /all-ruby/bin/ /all-ruby/bin/
206-
COPY --from=ruby-3.0-3.2 /build-all-ruby/ /build-all-ruby/
207217
COPY --from=ruby-3.0-3.2 /all-ruby/bin/ /all-ruby/bin/
208-
COPY --from=ruby-3.3-4.0 /build-all-ruby/ /build-all-ruby/
209218
COPY --from=ruby-3.3-4.0 /all-ruby/bin/ /all-ruby/bin/
210219

211220
COPY lib/* /all-ruby/lib/
212221
COPY all-ruby /all-ruby/
213222

214-
RUN rdfind -makehardlinks true -makeresultsfile false /build-all-ruby
215-
216223
WORKDIR /all-ruby

0 commit comments

Comments
 (0)