diff --git a/containers/oneapi/onexl.Dockerfile b/containers/oneapi/onexl.Dockerfile index 5db29d7f55c14073660a0a88742cde0ba40378cb..c267ba60c52742ba8adf2ad9e465b38aae5ffc0b 100644 --- a/containers/oneapi/onexl.Dockerfile +++ b/containers/oneapi/onexl.Dockerfile @@ -12,12 +12,14 @@ FROM ${DOCKER_REGISTRY}oneapi_jug_dev:${INTERNAL_TAG} ARG EICWEB="https://eicweb.phy.anl.gov/api/v4/projects" ARG JUGGLER_VERSION="master" ARG NPDET_VERSION="master" +ARG EICD_VERSION="master" ## version will automatically bust cache for nightly, as it includes ## the date ARG JUG_VERSION=1 ADD ${EICWEB}/18/repository/tree?ref=${NPDET_VERSION} /tmp/18.json +ADD ${EICWEB}/373/repository/tree?ref=${EICD_VERSION} /tmp/373.json RUN cd /tmp \ && echo " - jug_xl: ${JUG_VERSION}" >> /etc/jug_info \ && echo "INSTALLING NPDET" \ @@ -28,7 +30,17 @@ RUN cd /tmp && pushd NPDet \ && echo " - NPDet: ${NPDET_VERSION}-$(git rev-parse HEAD)">> /etc/jug_info \ && popd \ - && rm -rf build NPDet + && rm -rf build NPDet \ + && cd /tmp \ + && echo "INSTALLING EICD" \ + && git clone -b ${EICD_VERSION} --depth 1 \ + https://eicweb.phy.anl.gov/EIC/eicd.git \ + && cmake -B build -S eicd -DCMAKE_CXX_STANDARD=17 \ + && cmake --build build -j12 -- install \ + && pushd eicd \ + && echo " - EICD: ${EICD_VERSION}-$(git rev-parse HEAD)">> /etc/jug_info \ + && popd \ + && rm -rf build eicd ADD ${EICWEB}/369/repository/tree?ref=${JUGGLER_VERSION} /tmp/369.json RUN cd /tmp \ @@ -44,25 +56,12 @@ RUN cd /tmp && popd \ && rm -rf build juggler -## also install detector/ip geometries into opt -ARG NIGHTLY='' -ADD ${EICWEB}/473/repository/tree?ref=master /tmp/473.json -ADD ${EICWEB}/452/repository/tree?ref=master /tmp/452.json -COPY setup_detectors.py /tmp -COPY detectors.yaml /tmp -RUN cd /tmp \ - && [ "z$NIGHTLY" = "z1" ] && NIGHTLY_FLAG="--nightly" || NIGHTLY_FLAG="" \ - && /tmp/setup_detectors.py --prefix /opt/detector --config /tmp/detectors.yaml \ - $NIGHTLY_FLAG \ - && rm /tmp/setup_detectors.py - ## Install benchmarks into the container - ARG BENCHMARK_COM_VERSION="master" ARG BENCHMARK_DET_VERSION="master" ARG BENCHMARK_REC_VERSION="master" ARG BENCHMARK_PHY_VERSION="master" - +## cache bust when updated repositories ADD ${EICWEB}/458/repository/tree?ref=${BENCHMARK_COM_VERSION} /tmp/485.json ADD ${EICWEB}/399/repository/tree?ref=${BENCHMARK_DET_VERSION} /tmp/399.json ADD ${EICWEB}/408/repository/tree?ref=${BENCHMARK_REC_VERSION} /tmp/408.json @@ -88,12 +87,11 @@ RUN mkdir -p /opt/benchmarks && ln -sf ../common_bench physics_benchmarks/.local ## Install campaigns into the container - ARG CAMPAIGNS_SINGLE_VERSION="main" ARG CAMPAIGNS_HEPMC3_VERSION="main" ARG CAMPAIGNS_CONDOR_VERSION="main" ARG CAMPAIGNS_SLURM_VERSION="main" - +## cache bust when updated repositories ADD ${EICWEB}/482/repository/tree?ref=${CAMPAIGNS_SINGLE_VERSION} /tmp/482.json ADD ${EICWEB}/483/repository/tree?ref=${CAMPAIGNS_HEPMC3_VERSION} /tmp/483.json ADD ${EICWEB}/484/repository/tree?ref=${CAMPAIGNS_CONDOR_VERSION} /tmp/484.json @@ -114,3 +112,20 @@ RUN mkdir -p /opt/campaigns && cd /opt/campaigns \ && git clone -b ${CAMPAIGNS_SLURM_VERSION} --depth 1 \ https://eicweb.phy.anl.gov/EIC/campaigns/slurm.git + +## also install detector/ip geometries into opt +ARG NIGHTLY='' +## cache bust when updated repositories +# - just master on eicweb (FIXME too narrow) +ADD ${EICWEB}/473/repository/tree?ref=master /tmp/473.json +ADD ${EICWEB}/452/repository/tree?ref=master /tmp/452.json +# - all branches for ip6 and epic on github +ADD https://api.github.com/repos/eic/ip6 /tmp/ip6.json +ADD https://api.github.com/repos/eic/epic /tmp/epic.json +COPY setup_detectors.py /tmp +COPY detectors.yaml /tmp +RUN cd /tmp \ + && [ "z$NIGHTLY" = "z1" ] && NIGHTLY_FLAG="--nightly" || NIGHTLY_FLAG="" \ + && /tmp/setup_detectors.py --prefix /opt/detector --config /tmp/detectors.yaml \ + $NIGHTLY_FLAG \ + && rm /tmp/setup_detectors.py