From 699de009010e9b195b7a76a4ade433397ba3cc79 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wdconinc@gmail.com> Date: Sat, 25 May 2024 21:19:09 +0000 Subject: [PATCH] feat: allow for different builder and runtime images --- .github/workflows/build-push.yml | 6 ++++-- .gitlab-ci.yml | 12 ++++++++---- containers/jug/dev.Dockerfile | 7 ++++--- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 2c8d215d9..96d034bbf 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -114,7 +114,8 @@ jobs: strategy: matrix: include: - - BASE_IMAGE: debian_stable_base + - BUILDER_IMAGE: debian_stable_base + RUNTIME_IMAGE: debian_stable_base BUILD_IMAGE: dev PLATFORM: linux/amd64 ENV: dev @@ -208,7 +209,8 @@ jobs: labels: ${{ steps.meta.outputs.labels }} build-args: | DOCKER_REGISTRY=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/ - BASE_IMAGE=${{ matrix.BASE_IMAGE }} + BUILDER_IMAGE=${{ matrix.BUILDER_IMAGE }} + RUNTIME_IMAGE=${{ matrix.RUNTIME_IMAGE }} BUILD_IMAGE=eic_${{ matrix.BUILD_IMAGE }} INTERNAL_TAG=${{ env.INTERNAL_TAG }} SPACK_ORGREPO=${{ steps.spack.outputs.orgrepo }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4bd176aeb..e56b72832 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -286,7 +286,8 @@ eic: - BUILD_TYPE: - default - nightly - BASE_IMAGE: debian_stable_base + BUILDER_IMAGE: debian_stable_base + RUNTIME_IMAGE: debian_stable_base BUILD_IMAGE: eic_ PLATFORM: linux/amd64 ENV: @@ -296,7 +297,8 @@ eic: # - BUILD_TYPE: # - default # - nightly -# BASE_IMAGE: oneapi_base +# BUILDER_IMAGE: oneapi_base +# RUNTIME_IMAGE: oneapi_base # BUILD_IMAGE: oneapi_ # PLATFORM: linux/amd64 # ENV: @@ -304,7 +306,8 @@ eic: # - BUILD_TYPE: # - default # - nightly -# BASE_IMAGE: cuda_base_new +# BUILDER_IMAGE: cuda_base_new +# RUNTIME_IMAGE: cuda_base_new # BUILD_IMAGE: cuda_ # PLATFORM: linux/amd64 # ENV: @@ -367,7 +370,8 @@ eic: --file containers/jug/dev.Dockerfile --platform ${PLATFORM} --build-arg DOCKER_REGISTRY=${CI_REGISTRY}/${CI_PROJECT_PATH}/ - --build-arg BASE_IMAGE=${BASE_IMAGE} + --build-arg BUILDER_IMAGE=${BUILDER_IMAGE} + --build-arg RUNTIME_IMAGE=${RUNTIME_IMAGE} --build-arg INTERNAL_TAG=${INTERNAL_TAG} --build-arg SPACK_ORGREPO=${SPACK_ORGREPO} --build-arg SPACK_VERSION=${SPACK_VERSION} diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index 216b22a57..da1ce74d2 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -1,13 +1,14 @@ #syntax=docker/dockerfile:1.4 ARG DOCKER_REGISTRY="eicweb/" -ARG BASE_IMAGE="debian_stable_base" +ARG BUILDER_IMAGE="debian_stable_base" +ARG RUNTIME_IMAGE="debian_stable_base" ARG INTERNAL_TAG="testing" ## ======================================================================================== ## STAGE0: spack image ## EIC spack image with spack and eic-spack repositories ## ======================================================================================== -FROM ${DOCKER_REGISTRY}${BASE_IMAGE}:${INTERNAL_TAG} as spack +FROM ${DOCKER_REGISTRY}${BUILDER_IMAGE}:${INTERNAL_TAG} as spack ARG TARGETPLATFORM ## With heredocs for multi-line scripts, we want to fail on error and the print failing line. @@ -314,7 +315,7 @@ EOF ## STAGE 3 ## Lean target image ## ======================================================================================== -FROM ${DOCKER_REGISTRY}${BASE_IMAGE}:${INTERNAL_TAG} as export +FROM ${DOCKER_REGISTRY}${RUNTIME_IMAGE}:${INTERNAL_TAG} as runtime ARG TARGETPLATFORM LABEL maintainer="Sylvester Joosten <sjoosten@anl.gov>" \ -- GitLab