diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0701415df904a3e72a640f463052c161f94dcaa5..6e09f283cf24fa963fdb4ad3cc4a61a2ef83a3af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ variables: EICD_VERSION: "v2.0.0" AFTERBURNER_VERSION: "v0.1.2" - ## Spack github version, v0.18.1 + ## Spack github version, e.g. v0.18.1 or commit hash SPACK_VERSION: "v0.18.1" ## Space-separated list of spack cherry-picks SPACK_CHERRYPICKS: "adc9f887eac78a81bb8189d603f4dc45ed3509c1 5bd44a795c76a61f0f9fbfeedcf7e917a0bf40b0" @@ -16,6 +16,11 @@ variables: ## adc9f887eac78a81bb8189d603f4dc45ed3509c1: acts-dd4hep: new package; acts: new version ## 5bd44a795c76a61f0f9fbfeedcf7e917a0bf40b0: lcio, podio, edm4hep: add latest versions + ## Spack github version, e.g. v0.18 or commit hash + EICSPACK_VERSION: "v0.18" + ## Space-separated list of eic=spack cherry-picks + EICSPACK_CHERRYPICKS: "" + ## We need to enable Docker Buildkit to use cache mounts and better ## build performance overall DOCKER_BUILDKIT: 1 @@ -249,6 +254,8 @@ oneapi_jug_dev:default: -f containers/oneapi/onedev.Dockerfile --build-arg SPACK_VERSION="${SPACK_VERSION}" --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}" + --build-arg EICSPACK_VERSION="${EICSPACK_VERSION}" + --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}" --build-arg CACHE_BUST=${PACKAGE_HASH} --build-arg INTERNAL_TAG=${INTERNAL_TAG} --build-arg JUG_VERSION=${INTERNAL_TAG}-$(git rev-parse HEAD) @@ -351,6 +358,8 @@ jug_dev:default: -f containers/jug/dev.Dockerfile --build-arg SPACK_VERSION="${SPACK_VERSION}" --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}" + --build-arg EICSPACK_VERSION="${EICSPACK_VERSION}" + --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}" --build-arg CACHE_BUST=${PACKAGE_HASH} --build-arg INTERNAL_TAG=${INTERNAL_TAG} --build-arg JUG_VERSION=${INTERNAL_TAG}-$(git rev-parse HEAD) @@ -360,6 +369,8 @@ jug_dev:default: -f containers/jug/dev.Dockerfile --build-arg SPACK_VERSION="${SPACK_VERSION}" --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}" + --build-arg EICSPACK_VERSION="${EICSPACK_VERSION}" + --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}" --build-arg CACHE_BUST=${PACKAGE_HASH} --build-arg INTERNAL_TAG=${INTERNAL_TAG} --build-arg JUG_VERSION=${INTERNAL_TAG}-$(git rev-parse HEAD) diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index fed68a6217b41f6f18571127c40a4ff12b31191c..64853e7a49cad26d93aaa0d1a9eca59c61a9d2f3 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -83,6 +83,9 @@ ENV EICSPACK_ROOT=$SPACK_ROOT/var/spack/repos/eic-spack ARG EICSPACK_VERSION="$SPACK_VERSION" RUN git clone https://github.com/eic/eic-spack.git ${EICSPACK_ROOT} \ && git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION} \ + && if [ -n "${EICSPACK_CHERRYPICKS}" ] ; then \ + git -C ${EICSPACK_ROOT} cherry-pick -n ${SPACK_CHERRYPICKS} ; \ + fi && spack repo add --scope site "${EICSPACK_ROOT}" ## Setup our custom environment