Skip to content
Snippets Groups Projects

feat: dedicated builder

Closed Wouter Deconinck requested to merge dedicated-builder into master
Files
3
#syntax=docker/dockerfile:1.2
#syntax=docker/dockerfile:1.4
ARG BASE_IMAGE="amd64/debian:testing-20220822-slim"
ARG BASE_IMAGE="amd64/debian:testing-20220822-slim"
ARG BUILD_IMAGE="debian_base"
ARG BUILD_IMAGE="debian_base"
@@ -8,6 +8,8 @@ LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
@@ -8,6 +8,8 @@ LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \
name="${BUILD_IMAGE}" \
name="${BUILD_IMAGE}" \
march="amd64"
march="amd64"
 
ARG TARGETPLATFORM
 
COPY bashrc /root/.bashrc
COPY bashrc /root/.bashrc
ENV CLICOLOR_FORCE=1 \
ENV CLICOLOR_FORCE=1 \
@@ -17,8 +19,8 @@ ENV CLICOLOR_FORCE=1 \
@@ -17,8 +19,8 @@ ENV CLICOLOR_FORCE=1 \
## Install additional packages. Remove the auto-cleanup functionality
## Install additional packages. Remove the auto-cleanup functionality
## for docker, as we're using the new buildkit cache instead.
## for docker, as we're using the new buildkit cache instead.
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=${TARGETPLATFORM} \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked,id=${TARGETPLATFORM} \
rm -f /etc/apt/apt.conf.d/docker-clean \
rm -f /etc/apt/apt.conf.d/docker-clean \
&& ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime \
&& ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime \
&& echo "US/Eastern" > /etc/timezone \
&& echo "US/Eastern" > /etc/timezone \
@@ -61,8 +63,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
@@ -61,8 +63,8 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
# Install updated compilers, with support for multiple base images
# Install updated compilers, with support for multiple base images
## Ubuntu: latest gcc from toolchain ppa, latest stable clang
## Ubuntu: latest gcc from toolchain ppa, latest stable clang
## Debian: default gcc with distribution, latest stable clang
## Debian: default gcc with distribution, latest stable clang
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=${TARGETPLATFORM} \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked,id=${TARGETPLATFORM} \
. /etc/os-release \
. /etc/os-release \
&& mkdir -p /etc/apt/source.list.d \
&& mkdir -p /etc/apt/source.list.d \
&& if [ "${ID}" = "ubuntu" ] ; then \
&& if [ "${ID}" = "ubuntu" ] ; then \
Loading