docker/Dockerfile_framework_go_current_arm64.erb (62 lines of code) (raw):

FROM debian:11-slim as builder # Install core necessities RUN apt-get update \ && apt-get install -y --no-install-recommends \ curl \ bzip2 \ unzip \ locales \ ca-certificates \ && ln -s /etc/ssl/certs/ca-certificates.crt /usr/lib/ssl/cert.pem # Currently, some projects use the `gcc` build stack as part of their module # imports for Go libraries that may need it. We can support this behavior in # the first iteration, but eventually those libraries should be identified, # built separately, and then imported to reduce the amount of places we # define our `gcc` build stack. RUN apt-get install -y --no-install-recommends \ build-essential \ make \ autoconf \ automake \ autopoint \ gettext \ byacc \ fakeroot \ ccache \ distcc \ apt-transport-https \ gnupg \ pkg-config \ file \ clang \ gcc \ g++ \ libcurl4-openssl-dev \ libexpat1-dev \ gettext \ libz-dev \ libssl-dev \ zlib1g-dev \ libssl-dev \ libclang-dev \ libyaml-dev \ libffi-dev \ libkrb5-dev \ libreadline-dev \ libgdbm-dev \ libncurses5-dev \ llvm-dev \ libz-dev <%= Snippets.new(platform: 'arm64', include: %w[versions go git]).populate %> RUN apt-get remove -y \ libcurl4-openssl-dev \ libexpat1-dev \ gettext \ libz-dev \ libssl-dev \ && DEBIAN_FRONTEND=noninteractive apt-get purge -yq git \ && apt-get clean -yqq \ && rm -rf /var/lib/apt/lists/* FROM debian:11-slim MAINTAINER GitLab Inc. <support@gitlab.com> COPY --from=builder / /