diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 954ba5dd1e6409cf235d0e9cd5278bbe84231464..2c8d215d9c0e1109fe3a70b8bf7482b902126e28 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -135,13 +135,18 @@ jobs: echo "version=${SPACK_VERSION}" | tee -a $GITHUB_OUTPUT echo "cherrypicks=${SPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT echo "cherrypicks_files=${SPACK_CHERRYPICKS_FILES//$'\n'/ }" | tee -a $GITHUB_OUTPUT - - name: Load eic-spack version and cherry-picks + - name: Load key4hep-spack version + id: key4hep-spack + run: | + source key4hep-spack.sh + echo "orgrepo=${KEY4HEPSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT + echo "version=${KEY4HEPSPACK_VERSION}" | tee -a $GITHUB_OUTPUT + - name: Load eic-spack version id: eic-spack run: | source eic-spack.sh echo "orgrepo=${EICSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT echo "version=${EICSPACK_VERSION}" | tee -a $GITHUB_OUTPUT - echo "cherrypicks=${EICSPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT - name: Load secrets into mirrors.yaml id: mirrors run: | @@ -210,9 +215,12 @@ jobs: SPACK_VERSION=${{ steps.spack.outputs.version }} SPACK_CHERRYPICKS=${{ steps.spack.outputs.cherrypicks }} SPACK_CHERRYPICKS_FILES=${{ steps.spack.outputs.cherrypicks_files }} + KEY4HEPSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }} + KEY4HEPSPACK_VERSION=${{ steps.eic-spack.outputs.version }} EICSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }} EICSPACK_VERSION=${{ steps.eic-spack.outputs.version }} - EICSPACK_CHERRYPICKS=${{ steps.eic-spack.outputs.cherrypicks }} + KEY4HEPSPACK_ORGREPO=${{ steps.key4hep-spack.outputs.orgrepo }} + KEY4HEPSPACK_VERSION=${{ steps.key4hep-spack.outputs.version }} S3_ACCESS_KEY=${{ secrets.S3_ACCESS_KEY }} S3_SECRET_KEY=${{ secrets.S3_SECRET_KEY }} jobs=${{ env.JOBS }} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f064cab0e7e3f334963c1d712f15924abc98127..f29f384e54d185007eb561b705b87887443e8136 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -312,6 +312,7 @@ jug_dev: - if [ "${BUILD_TYPE}" == "default" ] ; then IF_BUILD_DEFAULT=1 ; fi - apk add envsubst git - source spack.sh ; + source key4hep-spack.sh ; source eic-spack.sh ; export SPACK_VERSION ; cat mirrors.yaml.in | envsubst > mirrors.yaml @@ -358,9 +359,10 @@ jug_dev: --build-arg SPACK_VERSION=${SPACK_VERSION} --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}" --build-arg SPACK_CHERRYPICKS_FILES="${SPACK_CHERRYPICKS_FILES}" + --build-arg KEY4HEPSPACK_ORGREPO=${KEY4HEPSPACK_ORGREPO} + --build-arg KEY4HEPSPACK_VERSION=${KEY4HEPSPACK_VERSION} --build-arg EICSPACK_ORGREPO=${EICSPACK_ORGREPO} --build-arg EICSPACK_VERSION=${EICSPACK_VERSION} - --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}" --build-arg S3_ACCESS_KEY=${S3_ACCESS_KEY} --build-arg S3_SECRET_KEY=${S3_SECRET_KEY} --build-arg JUG_VERSION=${EXPORT_TAG}-${BUILD_TYPE}-$(git rev-parse HEAD) diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index e6f1b2612681786192ca68bb0021f13e0f5cf9e7..222a40d08162e7fc392f226dd478b38051081ea6 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -106,15 +106,11 @@ EOF ENV EICSPACK_ROOT=${SPACK_ROOT}/var/spack/repos/eic-spack ARG EICSPACK_ORGREPO="eic/eic-spack" ARG EICSPACK_VERSION="$SPACK_VERSION" -ARG EICSPACK_CHERRYPICKS="" ADD https://api.github.com/repos/${EICSPACK_ORGREPO}/commits/${EICSPACK_VERSION} /tmp/eic-spack.json RUN <<EOF set -e git clone --filter=tree:0 https://github.com/${EICSPACK_ORGREPO}.git ${EICSPACK_ROOT} git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION} -if [ -n "${EICSPACK_CHERRYPICKS}" ] ; then - git -C ${EICSPACK_ROOT} cherry-pick -n ${EICSPACK_CHERRYPICKS} -fi spack repo add --scope site "${EICSPACK_ROOT}" EOF diff --git a/eic-spack.sh b/eic-spack.sh index b46d33c9b8e43ec6561c0deaf6d2b08e9d4a7b8f..02b36574aec81c990af3b0734012167c2e175657 100644 --- a/eic-spack.sh +++ b/eic-spack.sh @@ -4,10 +4,3 @@ EICSPACK_ORGREPO="eic/eic-spack" ## EIC spack commit hash or github version, e.g. v0.19.7 ## note: nightly builds could use a branch e.g. releases/v0.19 EICSPACK_VERSION="157326983623a834661bc4bdbb9061bd256f8d1b" - -## Space-separated list of eic-spack cherry-picks -read -r -d '' EICSPACK_CHERRYPICKS <<- \ ---- || true ---- -## Ref: https://github.com/eic/eic-spack/commit/[hash] -## [hash]: [description] diff --git a/key4hep-spack.sh b/key4hep-spack.sh new file mode 100644 index 0000000000000000000000000000000000000000..90f2a1a31127327c3e69a795958471457964a5e8 --- /dev/null +++ b/key4hep-spack.sh @@ -0,0 +1,6 @@ +## Key4HEP spack organization and repository, e.g. key4hep/key4hep-spack +KEY4HEPSPACK_ORGREPO="key4hep/key4hep-spack" + +## Key4HEP spack commit hash or github version, e.g. v0.19.7 +## note: nightly builds could use a branch e.g. releases/v0.19 +KEY4HEPSPACK_VERSION="ce50d74dba7c665157cbef63cd5c9cc4d7758f72"