Skip to content
Snippets Groups Projects
Commit 3a9a8031 authored by Dmitry Romanov's avatar Dmitry Romanov Committed by Sylvester Joosten
Browse files

Resolve "Add afterburner"

parent cc45fccf
Branches
Tags
1 merge request!153Resolve "Add afterburner"
image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest image: eicweb.phy.anl.gov:4567/containers/image_recipes/ubuntu_dind:latest
variables: variables:
## Application versions used for the main release ## note: nightly builds will always use the master branch ## Application versions used for the main release
## note: nightly builds will always use the master/main branch
JUGGLER_VERSION: "v3.4.0" JUGGLER_VERSION: "v3.4.0"
NPDET_VERSION: "v0.9.0" NPDET_VERSION: "v0.9.0"
EICD_VERSION: "v0.8.0" EICD_VERSION: "v0.8.0"
DETECTOR_VERSION: "acadia-v1.0-alpha" DETECTOR_VERSION: "acadia-v1.0-alpha"
IP6_VERSION: "v0.4.0" IP6_VERSION: "v0.4.0"
AFTERBURNER_VERSION: "v0.0.1"
## Spack github version ## Spack github version
SPACK_VERSION: "a68abc15c5b1b8266130f765d1bee6290e71fa7c" SPACK_VERSION: "a68abc15c5b1b8266130f765d1bee6290e71fa7c"
...@@ -241,6 +243,7 @@ jug_xl:default: ...@@ -241,6 +243,7 @@ jug_xl:default:
--build-arg JUGGLER_VERSION=${JUGGLER_VERSION} --build-arg JUGGLER_VERSION=${JUGGLER_VERSION}
--build-arg NPDET_VERSION=${NPDET_VERSION} --build-arg NPDET_VERSION=${NPDET_VERSION}
--build-arg EICD_VERSION=${EICD_VERSION} --build-arg EICD_VERSION=${EICD_VERSION}
--build-arg AFTERBURNER_VERSION=${AFTERBURNER_VERSION}
--build-arg DETECTOR_VERSION=${DETECTOR_VERSION} --build-arg DETECTOR_VERSION=${DETECTOR_VERSION}
--build-arg IP6_VERSION=${IP6_VERSION} --build-arg IP6_VERSION=${IP6_VERSION}
--build-arg JUG_VERSION=${INTERNAL_TAG}-$(git rev-parse HEAD) --build-arg JUG_VERSION=${INTERNAL_TAG}-$(git rev-parse HEAD)
...@@ -352,6 +355,18 @@ juggler:master: ...@@ -352,6 +355,18 @@ juggler:master:
project: EIC/juggler project: EIC/juggler
allow_failure: true allow_failure: true
.test:
stage: test
needs:
- version
- jug_xl:singularity:nightly
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
when: on_success
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: on_success
- when: never
include: include:
- local: 'tests/tutorial/config.yml' - local: 'tests/tutorial/config.yml'
......
...@@ -18,6 +18,8 @@ ENV CLICOLOR_FORCE=1 \ ...@@ -18,6 +18,8 @@ ENV CLICOLOR_FORCE=1 \
## Install additional packages. Remove the auto-cleanup functionality ## Install additional packages. Remove the auto-cleanup functionality
## for docker, as we're using the new buildkit cache instead. ## for docker, as we're using the new buildkit cache instead.
## We also install gitlab-runner, from the buster package (as bullseye is not available atm) ## We also install gitlab-runner, from the buster package (as bullseye is not available atm)
## TODO: libyaml-cpp-dev is a dependency for afterburner. We can probably remove
## this once afterburner is added to spack
RUN --mount=type=cache,target=/var/cache/apt \ RUN --mount=type=cache,target=/var/cache/apt \
rm -f /etc/apt/apt.conf.d/docker-clean \ rm -f /etc/apt/apt.conf.d/docker-clean \
&& apt-get -yqq update \ && apt-get -yqq update \
...@@ -50,6 +52,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ ...@@ -50,6 +52,7 @@ RUN --mount=type=cache,target=/var/cache/apt \
parallel \ parallel \
time \ time \
valgrind \ valgrind \
libyaml-cpp-dev \
&& localedef -i en_US -f UTF-8 en_US.UTF-8 \ && localedef -i en_US -f UTF-8 en_US.UTF-8 \
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \ && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \
&& update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100 \ && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100 \
......
...@@ -244,7 +244,10 @@ RUN --mount=from=staging,target=/staging \ ...@@ -244,7 +244,10 @@ RUN --mount=from=staging,target=/staging \
&& cp /staging/etc/jug_info /etc/jug_info \ && cp /staging/etc/jug_info /etc/jug_info \
&& cp -r /staging/.singularity.d /.singularity.d && cp -r /staging/.singularity.d /.singularity.d
## set the jug_dev version and add the afterburner
## TODO: move afterburner to spack when possible
ARG JUG_VERSION=1 ARG JUG_VERSION=1
ARG AFTERBURNER_VERSION=main
RUN echo "" >> /etc/jug_info \ RUN echo "" >> /etc/jug_info \
&& echo " - jug_dev: ${JUG_VERSION}" >> /etc/jug_info && echo " - jug_dev: ${JUG_VERSION}" >> /etc/jug_info
......
...@@ -10,6 +10,9 @@ FROM eicweb.phy.anl.gov:4567/containers/eic_container/jug_dev:${INTERNAL_TAG} ...@@ -10,6 +10,9 @@ FROM eicweb.phy.anl.gov:4567/containers/eic_container/jug_dev:${INTERNAL_TAG}
ARG JUGGLER_VERSION="master" ARG JUGGLER_VERSION="master"
ARG NPDET_VERSION="master" ARG NPDET_VERSION="master"
ARG EICD_VERSION="master" ARG EICD_VERSION="master"
## afterburner
## TODO move to spack build
ARG AFTERBURNER_VERSION=main
## version will automatically bust cache for nightly, as it includes ## version will automatically bust cache for nightly, as it includes
## the date ## the date
...@@ -44,7 +47,18 @@ RUN cd /tmp ...@@ -44,7 +47,18 @@ RUN cd /tmp
&& echo " - Juggler: ${JUGGLER_VERSION}-$(git rev-parse HEAD)" \ && echo " - Juggler: ${JUGGLER_VERSION}-$(git rev-parse HEAD)" \
>> /etc/jug_info \ >> /etc/jug_info \
&& popd \ && popd \
&& rm -rf build juggler && rm -rf build juggler \
&& echo "INSTALLING AFTERBURNER" \
&& git clone -b ${AFTERBURNER_VERSION} --depth 1 \
https://eicweb.phy.anl.gov/monte_carlo/afterburner.git \
&& cmake -B build -S afterburner/cpp -DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_CXX_STANDARD=17 \
&& cmake --build build -j12 --target all -- install \
&& pushd afterburner \
&& echo " - afterburner: ${AFTERBURNER_VERSION}-$(git rev-parse HEAD)" \
>> jug_info \
&& popd \
&& rm -rf build afterburner
## also install detector/ip geometries into opt ## also install detector/ip geometries into opt
## FIXME: need to add proper compact file install directly to the athena detector ## FIXME: need to add proper compact file install directly to the athena detector
......
...@@ -3,16 +3,7 @@ ...@@ -3,16 +3,7 @@
test:tutorial: test:tutorial:
stage: test extends: .test
needs:
- version
- jug_xl:singularity:nightly
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
when: on_success
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: on_success
- when: never
script: script:
- mkdir eic && cd eic - mkdir eic && cd eic
- mkdir -p .gitlab-ci && mv ../build/jug_xl.sif .gitlab-ci/jug_xl-ci-test.sif - mkdir -p .gitlab-ci && mv ../build/jug_xl.sif .gitlab-ci/jug_xl-ci-test.sif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment