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

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

parent 89a9cb1f
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}
......
......@@ -120,11 +120,26 @@ 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"
ENV SPACK_ENV=/opt/spack-environment/${ENV}
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 \
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} \
&& make --jobs ${jobs} --keep-going --directory /opt/spack-environment \
SPACK_ENV=${SPACK_ENV} \
BUILDCACHE_MIRROR="local eics3rw" \
&& ccache --show-stats \
&& ccache --zero-stats
## 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
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 \
--mount=type=secret,id=mirrors,target=/opt/spack/etc/spack/mirrors.yaml \
......@@ -133,8 +148,12 @@ RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \
&& 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} \
&& 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" \
......
......@@ -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.
Finish editing this message first!
Please register or to comment