docker/Dockerfile_amazonlinux_2023_arm64.erb (54 lines of code) (raw):
FROM amazonlinux:2023 as openssl-builder
RUN yum update -y -q \
&& yum groupinstall -y "Development Tools" \
&& yum install -y --allowerasing \
curl \
libcurl-devel \
glibc-locale-source \
hostname \
perl-FindBin \
gnupg2 \
pinentry-tty \
libstdc++ \
libstdc++-static \
which \
libyaml-devel \
&& yum mark install -y \
perl-lib \
&& yum clean all
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
RUN localedef -c -f UTF-8 -i C C.UTF-8
<%= Snippets.new(include: %w[versions openssl]).populate %>
FROM openssl-builder as ruby-image
ENV RUBY_CONFIGURE_EXTRA_OPTS='--with-openssl-dir=/usr/local/openssl'
ENV PATH=${PATH}:/usr/local/openssl/bin
<%= Snippets.new(platform: 'arm64', include: %w[versions rust ruby git]).populate %>
FROM ruby-image as builder
ENV CMAKE_PREFIX_PATH /usr/local/openssl
RUN yum update -y -q \
&& yum remove -y -q git \
&& yum install -y \
clang-devel \
curl-devel \
expat-devel \
krb5-devel \
perl-devel \
libffi-devel \
libgcrypt-devel \
meson \
ninja-build \
readline-devel \
gdbm-devel \
ncurses-devel \
libgpg-error-devel \
libassuan-devel \
file \
selinux-policy-devel \
perl-IPC-Cmd \
&& yum clean all
<%= Snippets.new(platform: 'arm64', exclude: %w[rust ruby git]).populate %>
FROM amazonlinux:2023
ENV PATH=${PATH}:/usr/local/openssl/bin
LABEL org.opencontainers.image.authors="GitLab Inc. <support@gitlab.com>"
COPY --from=builder / /