Skip to content

Commit 484db61

Browse files
wdconincCopilot
andauthored
fix: be more explicit about *_VERSION (tag, branch) and *_SHA (#65)
* fix: be more explicit about *_VERSION (tag, branch) and *_SHA * fix: default *_SHA to empty Co-authored-by: Copilot <[email protected]> * fix: check if *_VERSION is defined before setting *_SHA Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 4012cda commit 484db61

File tree

4 files changed

+77
-61
lines changed

4 files changed

+77
-61
lines changed

.github/workflows/build-push.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ jobs:
8282
run: |
8383
source spack.sh
8484
echo "orgrepo=${SPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT
85-
echo "version=$(.ci/resolve_git_ref ${SPACK_ORGREPO} ${SPACK_VERSION})" | tee -a $GITHUB_OUTPUT
85+
echo "version=${SPACK_VERSION}" | tee -a $GITHUB_OUTPUT
86+
echo "sha=$(.ci/resolve_git_ref ${SPACK_ORGREPO} ${SPACK_VERSION})" | tee -a $GITHUB_OUTPUT
8687
echo "cherrypicks=${SPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT
8788
echo "cherrypicks_files=${SPACK_CHERRYPICKS_FILES//$'\n'/ }" | tee -a $GITHUB_OUTPUT
8889
- name: Load spack-packages version and cherry-picks
@@ -91,21 +92,24 @@ jobs:
9192
run: |
9293
source spack-packages.sh
9394
echo "orgrepo=${SPACKPACKAGES_ORGREPO}" | tee -a $GITHUB_OUTPUT
94-
echo "version=$(.ci/resolve_git_ref ${SPACKPACKAGES_ORGREPO} ${SPACKPACKAGES_VERSION})" | tee -a $GITHUB_OUTPUT
95+
echo "version=${SPACKPACKAGES_VERSION}" | tee -a $GITHUB_OUTPUT
96+
echo "sha=$(.ci/resolve_git_ref ${SPACKPACKAGES_ORGREPO} ${SPACKPACKAGES_VERSION})" | tee -a $GITHUB_OUTPUT
9597
echo "cherrypicks=${SPACKPACKAGES_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT
9698
echo "cherrypicks_files=${SPACKPACKAGES_CHERRYPICKS_FILES//$'\n'/ }" | tee -a $GITHUB_OUTPUT
9799
- name: Load key4hep-spack version
98100
id: key4hep-spack
99101
run: |
100102
source key4hep-spack.sh
101103
echo "orgrepo=${KEY4HEPSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT
102-
echo "version=$(.ci/resolve_git_ref ${KEY4HEPSPACK_ORGREPO} ${KEY4HEPSPACK_VERSION})" | tee -a $GITHUB_OUTPUT
104+
echo "version=${KEY4HEPSPACK_VERSION}" | tee -a $GITHUB_OUTPUT
105+
echo "sha=$(.ci/resolve_git_ref ${KEY4HEPSPACK_ORGREPO} ${KEY4HEPSPACK_VERSION})" | tee -a $GITHUB_OUTPUT
103106
- name: Load eic-spack version
104107
id: eic-spack
105108
run: |
106109
source eic-spack.sh
107110
echo "orgrepo=${EICSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT
108-
echo "version=$(.ci/resolve_git_ref ${EICSPACK_ORGREPO} ${EICSPACK_VERSION})" | tee -a $GITHUB_OUTPUT
111+
echo "version=${EICSPACK_VERSION}" | tee -a $GITHUB_OUTPUT
112+
echo "sha=$(.ci/resolve_git_ref ${EICSPACK_ORGREPO} ${EICSPACK_VERSION})" | tee -a $GITHUB_OUTPUT
109113
- name: Set up QEMU
110114
uses: docker/setup-qemu-action@v3
111115
with:
@@ -167,16 +171,20 @@ jobs:
167171
BUILD_IMAGE=${{ matrix.BUILD_IMAGE }}
168172
SPACK_ORGREPO=${{ steps.spack.outputs.orgrepo }}
169173
SPACK_VERSION=${{ steps.spack.outputs.version }}
174+
SPACK_SHA=${{ steps.spack.outputs.sha }}
170175
SPACK_CHERRYPICKS=${{ steps.spack.outputs.cherrypicks }}
171176
SPACK_CHERRYPICKS_FILES=${{ steps.spack.outputs.cherrypicks_files }}
172177
SPACKPACKAGES_ORGREPO=${{ steps.spack-packages.outputs.orgrepo }}
173178
SPACKPACKAGES_VERSION=${{ steps.spack-packages.outputs.version }}
179+
SPACKPACKAGES_SHA=${{ steps.spack-packages.outputs.sha }}
174180
SPACKPACKAGES_CHERRYPICKS=${{ steps.spack-packages.outputs.cherrypicks }}
175181
SPACKPACKAGES_CHERRYPICKS_FILES=${{ steps.spack-packages.outputs.cherrypicks_files }}
176182
KEY4HEPSPACK_ORGREPO=${{ steps.key4hep-spack.outputs.orgrepo }}
177183
KEY4HEPSPACK_VERSION=${{ steps.key4hep-spack.outputs.version }}
184+
KEY4HEPSPACK_SHA=${{ steps.key4hep-spack.outputs.sha }}
178185
EICSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }}
179186
EICSPACK_VERSION=${{ steps.eic-spack.outputs.version }}
187+
EICSPACK_SHA=${{ steps.eic-spack.outputs.sha }}
180188
jobs=${{ env.JOBS }}
181189
cache-from: |
182190
type=registry,ref=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/buildcache:${{ matrix.BUILD_IMAGE }}-${{ env.GITHUB_REF_POINT_SLUG }}-${{ matrix.arch }}
@@ -396,13 +404,13 @@ jobs:
396404
labels: ${{ steps.meta.outputs.labels }}
397405
outputs: type=image,name=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/${{ matrix.BUILD_IMAGE }}${{ matrix.ENV }},push-by-digest=true,name-canonical=true,push=true
398406
build-args: |
399-
BENCHMARK_COM_VERSION=${{ steps.benchmarks.outputs.common_bench }}
400-
BENCHMARK_DET_VERSION=${{ steps.benchmarks.outputs.detector_benchmarks }}
401-
BENCHMARK_REC_VERSION=${{ steps.benchmarks.outputs.reconstruction_benchmarks }}
402-
BENCHMARK_PHY_VERSION=${{ steps.benchmarks.outputs.physics_benchmarks }}
403-
CAMPAIGNS_HEPMC3_VERSION=${{ steps.campaigns.outputs.simulation_campaign_hepmc3 }}
404-
CAMPAIGNS_CONDOR_VERSION=${{ steps.campaigns.outputs.job_submission_condor }}
405-
CAMPAIGNS_SLURM_VERSION=${{ steps.campaigns.outputs.job_submission_slurm }}
407+
BENCHMARK_COM_SHA=${{ steps.benchmarks.outputs.common_bench }}
408+
BENCHMARK_DET_SHA=${{ steps.benchmarks.outputs.detector_benchmarks }}
409+
BENCHMARK_REC_SHA=${{ steps.benchmarks.outputs.reconstruction_benchmarks }}
410+
BENCHMARK_PHY_SHA=${{ steps.benchmarks.outputs.physics_benchmarks }}
411+
CAMPAIGNS_HEPMC3_SHA=${{ steps.campaigns.outputs.simulation_campaign_hepmc3 }}
412+
CAMPAIGNS_CONDOR_SHA=${{ steps.campaigns.outputs.job_submission_condor }}
413+
CAMPAIGNS_SLURM_SHA=${{ steps.campaigns.outputs.job_submission_slurm }}
406414
DOCKER_REGISTRY=${{ env.GH_REGISTRY }}/${{ env.GH_REGISTRY_USER }}/
407415
BUILDER_IMAGE=${{ matrix.BUILDER_IMAGE }}
408416
RUNTIME_IMAGE=${{ matrix.RUNTIME_IMAGE }}

.gitlab-ci.yml

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -325,17 +325,21 @@ base:
325325
--build-arg BASE_IMAGE=${BASE_IMAGE}
326326
--build-arg BUILD_IMAGE=${BUILD_IMAGE}
327327
--build-arg SPACK_ORGREPO=${SPACK_ORGREPO}
328-
--build-arg SPACK_VERSION=$(sh .ci/resolve_git_ref "${SPACK_ORGREPO}" "${SPACK_VERSION}")
328+
--build-arg SPACK_VERSION=${SPACK_VERSION}
329+
--build-arg SPACK_SHA=$(sh .ci/resolve_git_ref "${SPACK_ORGREPO}" "${SPACK_VERSION}")
329330
--build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}"
330331
--build-arg SPACK_CHERRYPICKS_FILES="${SPACK_CHERRYPICKS_FILES}"
331332
--build-arg SPACKPACKAGES_ORGREPO=${SPACKPACKAGES_ORGREPO}
332-
--build-arg SPACKPACKAGES_VERSION=$(sh .ci/resolve_git_ref "${SPACKPACKAGES_ORGREPO}" "${SPACKPACKAGES_VERSION}")
333+
--build-arg SPACKPACKAGES_VERSION=${SPACKPACKAGES_VERSION}
334+
--build-arg SPACKPACKAGES_SHA=$(sh .ci/resolve_git_ref "${SPACKPACKAGES_ORGREPO}" "${SPACKPACKAGES_VERSION}")
333335
--build-arg SPACKPACKAGES_CHERRYPICKS="${SPACKPACKAGES_CHERRYPICKS}"
334336
--build-arg SPACKPACKAGES_CHERRYPICKS_FILES="${SPACKPACKAGES_CHERRYPICKS_FILES}"
335337
--build-arg KEY4HEPSPACK_ORGREPO=${KEY4HEPSPACK_ORGREPO}
336-
--build-arg KEY4HEPSPACK_VERSION=$(sh .ci/resolve_git_ref "${KEY4HEPSPACK_ORGREPO}" "${KEY4HEPSPACK_VERSION}")
338+
--build-arg KEY4HEPSPACK_VERSION=${KEY4HEPSPACK_VERSION}
339+
--build-arg KEY4HEPSPACK_SHA=$(sh .ci/resolve_git_ref "${KEY4HEPSPACK_ORGREPO}" "${KEY4HEPSPACK_VERSION}")
337340
--build-arg EICSPACK_ORGREPO=${EICSPACK_ORGREPO}
338-
--build-arg EICSPACK_VERSION=$(sh .ci/resolve_git_ref "${EICSPACK_ORGREPO}" "${EICSPACK_VERSION}")
341+
--build-arg EICSPACK_VERSION=${EICSPACK_VERSION}
342+
--build-arg EICSPACK_SHA=$(sh .ci/resolve_git_ref "${EICSPACK_ORGREPO}" "${EICSPACK_VERSION}")
339343
--build-arg jobs=${JOBS}
340344
--provenance false
341345
containers/debian
@@ -441,30 +445,30 @@ eic:
441445
}
442446
--file containers/eic/Dockerfile
443447
--platform ${PLATFORM}
444-
--build-arg BENCHMARK_COM_VERSION=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/common_bench.git master)
445-
--build-arg BENCHMARK_DET_VERSION=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/detector_benchmarks.git master)
446-
--build-arg BENCHMARK_REC_VERSION=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/reconstruction_benchmarks.git master)
447-
--build-arg BENCHMARK_PHY_VERSION=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks.git master)
448-
--build-arg CAMPAIGNS_HEPMC3_VERSION=$(sh .ci/resolve_git_ref eic/simulation_campaign_hepmc3 main)
449-
--build-arg CAMPAIGNS_CONDOR_VERSION=$(sh .ci/resolve_git_ref eic/job_submission_condor main)
450-
--build-arg CAMPAIGNS_SLURM_VERSION=$(sh .ci/resolve_git_ref eic/job_submission_slurm main)
448+
--build-arg BENCHMARK_COM_SHA=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/common_bench.git master)
449+
--build-arg BENCHMARK_DET_SHA=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/detector_benchmarks.git master)
450+
--build-arg BENCHMARK_REC_SHA=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/reconstruction_benchmarks.git master)
451+
--build-arg BENCHMARK_PHY_SHA=$(sh .ci/resolve_git_ref https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks.git master)
452+
--build-arg CAMPAIGNS_HEPMC3_SHA=$(sh .ci/resolve_git_ref eic/simulation_campaign_hepmc3 main)
453+
--build-arg CAMPAIGNS_CONDOR_SHA=$(sh .ci/resolve_git_ref eic/job_submission_condor main)
454+
--build-arg CAMPAIGNS_SLURM_SHA=$(sh .ci/resolve_git_ref eic/job_submission_slurm main)
451455
--build-arg DOCKER_REGISTRY=${CI_REGISTRY}/${CI_PROJECT_PATH}/
452456
--build-arg BUILDER_IMAGE=${BUILDER_IMAGE}
453457
--build-arg RUNTIME_IMAGE=${RUNTIME_IMAGE}
454458
--build-arg INTERNAL_TAG=${INTERNAL_TAG}
455459
--build-arg EIC_CONTAINER_VERSION=${EXPORT_TAG}-${BUILD_TYPE}-$(git rev-parse HEAD)
456460
--build-arg CI_COMMIT_SHA=${CI_COMMIT_SHA}
457461
${IF_BUILD_DEFAULT+
458-
${EDM4EIC_VERSION:+--build-arg EDM4EIC_VERSION=$(sh .ci/resolve_git_ref eic/EDM4eic ${EDM4EIC_VERSION})}
459-
${EICRECON_VERSION:+--build-arg EICRECON_VERSION=$(sh .ci/resolve_git_ref eic/EICrecon ${EICRECON_VERSION})}
460-
${EPIC_VERSION:+--build-arg EPIC_VERSION=$(sh .ci/resolve_git_ref eic/epic ${EPIC_VERSION})}
461-
${JUGGLER_VERSION:+--build-arg JUGGLER_VERSION=$(sh .ci/resolve_git_ref eic/juggler ${JUGGLER_VERSION})}
462+
${EDM4EIC_VERSION:+--build-arg EDM4EIC_SHA=$(sh .ci/resolve_git_ref eic/EDM4eic ${EDM4EIC_VERSION})}
463+
${EICRECON_VERSION:+--build-arg EICRECON_SHA=$(sh .ci/resolve_git_ref eic/EICrecon ${EICRECON_VERSION})}
464+
${EPIC_VERSION:+--build-arg EPIC_SHA=$(sh .ci/resolve_git_ref eic/epic ${EPIC_VERSION})}
465+
${JUGGLER_VERSION:+--build-arg JUGGLER_SHA=$(sh .ci/resolve_git_ref eic/juggler ${JUGGLER_VERSION})}
462466
}
463467
${IF_BUILD_NIGHTLY+
464-
--build-arg EDM4EIC_VERSION=$(sh .ci/resolve_git_ref eic/EDM4eic ${EDM4EIC_VERSION:-main})
465-
--build-arg EICRECON_VERSION=$(sh .ci/resolve_git_ref eic/EICrecon ${EICRECON_VERSION:-main})
466-
--build-arg EPIC_VERSION=$(sh .ci/resolve_git_ref eic/epic ${EPIC_VERSION:-main})
467-
--build-arg JUGGLER_VERSION=$(sh .ci/resolve_git_ref eic/juggler ${JUGGLER_VERSION:-main})
468+
--build-arg EDM4EIC_SHA=$(sh .ci/resolve_git_ref eic/EDM4eic ${EDM4EIC_VERSION:-main})
469+
--build-arg EICRECON_SHA=$(sh .ci/resolve_git_ref eic/EICrecon ${EICRECON_VERSION:-main})
470+
--build-arg EPIC_SHA=$(sh .ci/resolve_git_ref eic/epic ${EPIC_VERSION:-main})
471+
--build-arg JUGGLER_SHA=$(sh .ci/resolve_git_ref eic/juggler ${JUGGLER_VERSION:-main})
468472
}
469473
--build-arg ENV=${ENV}
470474
--build-arg jobs=${JOBS}

containers/debian/Dockerfile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ EOF
157157
ENV SPACK_ROOT=/opt/spack
158158
ARG SPACK_ORGREPO="spack/spack"
159159
ARG SPACK_VERSION="develop"
160+
ARG SPACK_SHA=""
160161
ENV SPACK_PYTHON=/usr/bin/python3
161162
ARG SPACK_CHERRYPICKS=""
162163
ARG SPACK_CHERRYPICKS_FILES=""
@@ -166,7 +167,7 @@ ARG SPACK_CHERRYPICKS_FILES=""
166167
RUN <<EOF
167168
set -e
168169
git clone --filter=tree:0 https://github.com/${SPACK_ORGREPO}.git ${SPACK_ROOT}
169-
git -C ${SPACK_ROOT} checkout ${SPACK_VERSION}
170+
git -C ${SPACK_ROOT} checkout ${SPACK_SHA:-${SPACK_VERSION}}
170171
if [ -n "${SPACK_CHERRYPICKS}" ] ; then
171172
SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS// /$'\n'}"
172173
SPACK_CHERRYPICKS_FILES="${SPACK_CHERRYPICKS_FILES// /$'\n'}"
@@ -195,6 +196,7 @@ SHELL ["docker-shell"]
195196
ENV SPACKPACKAGES_ROOT=/opt/spack-packages
196197
ARG SPACKPACKAGES_ORGREPO="spack/spack-packages"
197198
ARG SPACKPACKAGES_VERSION="develop"
199+
ARG SPACKPACKAGES_SHA=""
198200
ARG SPACKPACKAGES_CHERRYPICKS=""
199201
ARG SPACKPACKAGES_CHERRYPICKS_FILES=""
200202
# Dockerfile ADD --keep-git-dir clones a shallow copy preventing cherry-picking
@@ -203,7 +205,7 @@ ARG SPACKPACKAGES_CHERRYPICKS_FILES=""
203205
RUN <<EOF
204206
set -e
205207
git clone --filter=tree:0 https://github.com/${SPACKPACKAGES_ORGREPO}.git ${SPACKPACKAGES_ROOT}
206-
git -C ${SPACKPACKAGES_ROOT} checkout ${SPACKPACKAGES_VERSION}
208+
git -C ${SPACKPACKAGES_ROOT} checkout ${SPACKPACKAGES_SHA:-${SPACKPACKAGES_VERSION}}
207209
if [ -n "${SPACKPACKAGES_CHERRYPICKS}" ] ; then
208210
SPACKPACKAGES_CHERRYPICKS="${SPACKPACKAGES_CHERRYPICKS// /$'\n'}"
209211
SPACKPACKAGES_CHERRYPICKS_FILES="${SPACKPACKAGES_CHERRYPICKS_FILES// /$'\n'}"
@@ -262,20 +264,22 @@ EOF
262264
ENV KEY4HEPSPACK_ROOT=${SPACKPACKAGES_ROOT}/repos/key4hep-spack
263265
ARG KEY4HEPSPACK_ORGREPO="key4hep/key4hep-spack"
264266
ARG KEY4HEPSPACK_VERSION="main"
267+
ARG KEY4HEPSPACK_SHA=""
265268
RUN <<EOF
266269
set -e
267270
git clone --filter=tree:0 https://github.com/${KEY4HEPSPACK_ORGREPO}.git ${KEY4HEPSPACK_ROOT}
268-
git -C ${KEY4HEPSPACK_ROOT} checkout ${KEY4HEPSPACK_VERSION}
271+
git -C ${KEY4HEPSPACK_ROOT} checkout ${KEY4HEPSPACK_SHA:-${KEY4HEPSPACK_VERSION}}
269272
spack repo add --scope site "${KEY4HEPSPACK_ROOT}"
270273
EOF
271274

272275
## Setup eic-spack (no need for cherry-picks)
273276
ENV EICSPACK_ROOT=${SPACKPACKAGES_ROOT}/repos/eic-spack
274277
ARG EICSPACK_ORGREPO="eic/eic-spack"
275278
ARG EICSPACK_VERSION="develop"
279+
ARG EICSPACK_SHA=""
276280
RUN <<EOF
277281
set -e
278282
git clone --filter=tree:0 https://github.com/${EICSPACK_ORGREPO}.git ${EICSPACK_ROOT}
279-
git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION}
283+
git -C ${EICSPACK_ROOT} checkout ${EICSPACK_SHA:-${EICSPACK_VERSION}}
280284
spack repo add --scope site "${EICSPACK_ROOT}"
281285
EOF

containers/eic/Dockerfile

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -165,30 +165,30 @@ ENV SPACK_ENV=/opt/spack-environment/${ENV}/epic
165165

166166
## 2. Setup our environment with custom versions (on top of cached layer)
167167
## Note: these default versions are just the very first commit.
168-
ARG EDM4EIC_VERSION="8aeb507f93a93257c99985efbce0ec1371e0b331"
169-
ARG EICRECON_VERSION="28108da4a1e8919a05dfdb5f11e114800a2cbe96"
170-
ARG EPIC_VERSION="c1827f05430b2051df8a0b421db1cbab87165e0b"
171-
ARG JUGGLER_VERSION="df87bf1f8643afa8e80bece9d36d6dc26dfe8132"
168+
ARG EDM4EIC_SHA=""
169+
ARG EICRECON_SHA=""
170+
ARG EPIC_SHA=""
171+
ARG JUGGLER_SHA=""
172172

173173
# Concretization (custom environment)
174174
RUN <<EOF
175175
set -e
176176
spack env activate --dir ${SPACK_ENV}
177-
if [ "${EDM4EIC_VERSION}" != "8aeb507f93a93257c99985efbce0ec1371e0b331" ] ; then
178-
sed -i "/# EDM4EIC_VERSION$/ s/@[^' ]*/@git.${EDM4EIC_VERSION}=main/" /opt/spack-environment/packages.yaml
177+
if [ -n "${EDM4EIC_SHA}" ] ; then
178+
sed -i "/# EDM4EIC_VERSION$/ s/@[^' ]*/@git.${EDM4EIC_SHA}=main/" /opt/spack-environment/packages.yaml
179179
spack deconcretize -y --all edm4eic
180180
fi
181-
if [ "${EICRECON_VERSION}" != "28108da4a1e8919a05dfdb5f11e114800a2cbe96" ] ; then
182-
sed -i "/# EICRECON_VERSION$/ s/@[^' ]*/@git.${EICRECON_VERSION}=main/" /opt/spack-environment/packages.yaml
181+
if [ -n "${EICRECON_SHA}" ] ; then
182+
sed -i "/# EICRECON_VERSION$/ s/@[^' ]*/@git.${EICRECON_SHA}=main/" /opt/spack-environment/packages.yaml
183183
spack deconcretize -y --all eicrecon
184184
fi
185-
if [ "${EPIC_VERSION}" != "c1827f05430b2051df8a0b421db1cbab87165e0b" ] ; then
186-
sed -i "/# EPIC_VERSION$/ s/epic\s/epic@git.${EPIC_VERSION}=main /" /opt/spack-environment/${ENV}/epic/spack.yaml
187-
sed -i "/# EPIC_VERSION$/ s/epic@main\s/epic@git.${EPIC_VERSION}=main /" /opt/spack-environment/${ENV}/epic/spack.yaml
185+
if [ -n "${EPIC_SHA}" ] ; then
186+
sed -i "/# EPIC_VERSION$/ s/epic\s/epic@git.${EPIC_SHA}=main /" /opt/spack-environment/${ENV}/epic/spack.yaml
187+
sed -i "/# EPIC_VERSION$/ s/epic@main\s/epic@git.${EPIC_SHA}=main /" /opt/spack-environment/${ENV}/epic/spack.yaml
188188
spack deconcretize -y --all epic
189189
fi
190-
if [ "${JUGGLER_VERSION}" != "df87bf1f8643afa8e80bece9d36d6dc26dfe8132" ] ; then
191-
sed -i "/# JUGGLER_VERSION$/ s/@[^' ]*/@git.${JUGGLER_VERSION}=main/" /opt/spack-environment/packages.yaml
190+
if [ -n "${JUGGLER_SHA}" ] ; then
191+
sed -i "/# JUGGLER_VERSION$/ s/@[^' ]*/@git.${JUGGLER_SHA}=main/" /opt/spack-environment/packages.yaml
192192
spack deconcretize -y --all juggler
193193
fi
194194
spack concretize --force
@@ -370,35 +370,35 @@ spack config blame upstreams
370370
EOF
371371

372372
## Install benchmarks into the container
373-
ARG BENCHMARK_COM_VERSION="master"
374-
ARG BENCHMARK_DET_VERSION="master"
375-
ARG BENCHMARK_REC_VERSION="master"
376-
ARG BENCHMARK_PHY_VERSION="master"
373+
ARG BENCHMARK_COM_SHA=""
374+
ARG BENCHMARK_DET_SHA=""
375+
ARG BENCHMARK_REC_SHA=""
376+
ARG BENCHMARK_PHY_SHA=""
377377
RUN <<EOF
378378
git clone https://eicweb.phy.anl.gov/EIC/benchmarks/common_bench.git /opt/benchmarks/common_bench
379-
git -C /opt/benchmarks/common_bench checkout ${BENCHMARK_COM_VERSION}
379+
git -C /opt/benchmarks/common_bench checkout ${BENCHMARK_COM_SHA:-master}
380380
git clone https://eicweb.phy.anl.gov/EIC/benchmarks/detector_benchmarks.git /opt/benchmarks/detector_benchmarks
381-
git -C /opt/benchmarks/detector_benchmarks checkout ${BENCHMARK_DET_VERSION}
381+
git -C /opt/benchmarks/detector_benchmarks checkout ${BENCHMARK_DET_SHA:-master}
382382
ln -sf /opt/benchmarks/common_bench /opt/benchmarks/detector_benchmarks/.local
383383
git clone https://eicweb.phy.anl.gov/EIC/benchmarks/reconstruction_benchmarks.git /opt/benchmarks/reconstruction_benchmarks
384-
git -C /opt/benchmarks/reconstruction_benchmarks checkout ${BENCHMARK_REC_VERSION}
384+
git -C /opt/benchmarks/reconstruction_benchmarks checkout ${BENCHMARK_REC_SHA:-master}
385385
ln -sf /opt/benchmarks/common_bench /opt/benchmarks/reconstruction_benchmarks/.local
386386
git clone https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks.git /opt/benchmarks/physics_benchmarks
387-
git -C /opt/benchmarks/physics_benchmarks checkout ${BENCHMARK_PHY_VERSION}
387+
git -C /opt/benchmarks/physics_benchmarks checkout ${BENCHMARK_PHY_SHA:-master}
388388
ln -sf /opt/benchmarks/common_bench /opt/benchmarks/physics_benchmarks/.local
389389
EOF
390390

391391
## Install campaigns into the container
392-
ARG CAMPAIGNS_HEPMC3_VERSION="main"
393-
ARG CAMPAIGNS_CONDOR_VERSION="main"
394-
ARG CAMPAIGNS_SLURM_VERSION="main"
392+
ARG CAMPAIGNS_HEPMC3_SHA=""
393+
ARG CAMPAIGNS_CONDOR_SHA=""
394+
ARG CAMPAIGNS_SLURM_SHA=""
395395
RUN <<EOF
396396
git clone https://github.com/eic/simulation_campaign_hepmc3.git /opt/campaigns/hepmc3
397-
git -C /opt/campaigns/hepmc3 checkout ${CAMPAIGNS_HEPMC3_VERSION}
397+
git -C /opt/campaigns/hepmc3 checkout ${CAMPAIGNS_HEPMC3_SHA:-main}
398398
git clone https://github.com/eic/job_submission_condor.git /opt/campaigns/condor
399-
git -C /opt/campaigns/condor checkout ${CAMPAIGNS_CONDOR_VERSION}
399+
git -C /opt/campaigns/condor checkout ${CAMPAIGNS_CONDOR_SHA:-main}
400400
git clone https://github.com/eic/job_submission_slurm.git /opt/campaigns/slurm
401-
git -C /opt/campaigns/slurm checkout ${CAMPAIGNS_SLURM_VERSION}
401+
git -C /opt/campaigns/slurm checkout ${CAMPAIGNS_SLURM_SHA:-main}
402402
EOF
403403

404404
## make sure we have the entrypoints setup correctly

0 commit comments

Comments
 (0)