docker/Dockerfile_ruby_docker.erb (48 lines of code) (raw):
FROM golang:1.20-bullseye as buildx
ARG BUILDX_VERSION=0.11.0
RUN apt-get update
RUN apt-get install -y patch
WORKDIR /go/src
RUN git clone -b v${BUILDX_VERSION} https://github.com/docker/buildx.git
COPY patches/0001-buildx-auth-token.patch /go/src/0001-buildx-auth-token.patch
WORKDIR /go/src/buildx
RUN patch -p1 < ../0001-buildx-auth-token.patch \
&& DESTDIR=/go/bin hack/build
# buildx is at: /src/buildx/bin/build/docker-buildx
FROM debian:12-slim as builder
# Install required packages
RUN apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
autoconf \
ca-certificates \
clang \
git \
make \
gcc \
g++ \
curl \
openssh-client \
zlib1g-dev \
libyaml-dev \
libclang-dev \
libssl-dev \
libreadline-dev \
libcurl4-openssl-dev \
libexpat1-dev \
llvm-dev \
gettext \
libssl-dev \
libc6-dev \
apt-transport-https \
gnupg2 \
software-properties-common \
jq \
skopeo \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
<%= Snippets.new(include: %w[versions docker rust ruby tmpclean yq release-cli gcloud gke-gcloud-auth-plugin kubectl cosign]).populate %>
# Hacking-in fixed version of buildx for Bearer Token auth
COPY --from=buildx /go/bin/docker-buildx /usr/libexec/docker/cli-plugins/docker-buildx
FROM debian:12-slim
MAINTAINER GitLab Inc. <support@gitlab.com>
COPY --from=builder / /