Skip to content
Snippets Groups Projects
Commit bdda212f authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

feat: install most dependencies in cachable layer, before adding main

parent 571e6b3e
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !747. Comments created here will be created in the context of that merge request.
......@@ -337,8 +337,12 @@ jug_dev:
--build-arg S3_SECRET_KEY=${S3_SECRET_KEY}
--build-arg JUG_VERSION=${EXPORT_TAG}-${BUILD_TYPE}-$(git rev-parse HEAD)
${IF_BUILD_DEFAULT:+
--build-arg JUGGLER_VERSION=${JUGGLER_VERSION}
--build-arg EICRECON_VERSION=${EICRECON_VERSION}
${JUGGLER_VERSION:+--build-arg JUGGLER_VERSION=${JUGGLER_VERSION}}
${EICRECON_VERSION:+--build-arg EICRECON_VERSION=${EICRECON_VERSION}}
}
${IF_BUILD_NIGHTLY:+
--build-arg JUGGLER_VERSION=main
--build-arg EICRECON_VERSION=main
}
--build-arg ENV=${ENV}
--build-arg jobs=${JOBS}
......
......@@ -131,10 +131,6 @@ FROM spack as builder
## Setup our custom environment (secret mount for write-enabled mirror)
COPY --from=spack-environment . /opt/spack-environment/
ARG ENV=dev
ARG JUGGLER_VERSION="main"
ADD https://eicweb.phy.anl.gov/api/v4/projects/EIC%2Fjuggler/repository/tree?ref=${JUGGLER_VERSION} /tmp/juggler.json
ARG EICRECON_VERSION="main"
ADD https://api.github.com/repos/eic/eicrecon/commits/${EICRECON_VERSION} /tmp/eicrecon.json
ENV SPACK_ENV=/opt/spack-environment/${ENV}
RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \
--mount=type=cache,target=/var/cache/spack \
......@@ -145,8 +141,31 @@ export CCACHE_DIR=/ccache
spack buildcache update-index local
spack buildcache update-index eics3rw
spack env activate --dir ${SPACK_ENV}
spack add juggler@git.${JUGGLER_VERSION}
spack add eicrecon@git.${EICRECON_VERSION}
make --jobs ${jobs} --keep-going --directory /opt/spack-environment SPACK_ENV=${SPACK_ENV} BUILDCACHE_MIRROR="local eics3rw"
ccache --show-stats
ccache --zero-stats
EOF
## Setup our custom environment with custom versions (on top of cached layer)
ARG JUGGLER_VERSION=""
ARG EICRECON_VERSION=""
ADD https://eicweb.phy.anl.gov/api/v4/projects/EIC%2Fjuggler/repository/tree?ref=${JUGGLER_VERSION} /tmp/juggler.json
ADD https://api.github.com/repos/eic/eicrecon/commits/${EICRECON_VERSION} /tmp/eicrecon.json
RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \
--mount=type=cache,target=/var/cache/spack \
--mount=type=secret,id=mirrors,target=/opt/spack/etc/spack/mirrors.yaml \
<<EOF
source $SPACK_ROOT/share/spack/setup-env.sh
export CCACHE_DIR=/ccache
spack buildcache update-index local
spack buildcache update-index eics3rw
spack env activate --dir ${SPACK_ENV}
if [ -n ${JUGGLER_VERSION} ] ; then
spack rm juggler && spack add juggler@git.${JUGGLER_VERSION}
fi
if [ -n ${EICRECON_VERSION} ] ; then
spack rm eicrecon && spack add eicrecon@git.${EICRECON_VERSION}
fi
make --jobs ${jobs} --keep-going --directory /opt/spack-environment SPACK_ENV=${SPACK_ENV} BUILDCACHE_MIRROR="local eics3rw"
ccache --show-stats
ccache --zero-stats
......
......@@ -23,6 +23,7 @@ spack:
- edm4eic
- edm4hep
- eic-smear
- eicrecon
- eigen
- emacs
- fastjet
......@@ -37,6 +38,7 @@ spack:
- imagemagick
- irt
- jana2
- juggler
- lcov
- lhapdf
- madx
......
......@@ -89,6 +89,9 @@ packages:
eic-smear:
require:
- '@1.1.12'
eicrecon:
require:
- '@1.6.1'
eigen:
require:
- '@3.4.0'
......@@ -146,6 +149,9 @@ packages:
require:
- '@2.1.1'
- -ipo +podio +root +zmq
juggler:
require:
- '@10.1.0'
lcov:
require:
- '@1.16'
......
......@@ -7,6 +7,7 @@ spack:
- cmake
- dd4hep
- edm4eic
- eicrecon
- fastjet
- fjcontrib
- gaudi
......@@ -15,6 +16,7 @@ spack:
- intel-tbb
- irt
- jana2
- juggler
- npsim -geocad
- py-boto3
- py-jinja2
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment