Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
eic_container
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
containers
eic_container
Commits
11de0974
Commit
11de0974
authored
1 year ago
by
Wouter Deconinck
Browse files
Options
Downloads
Patches
Plain Diff
feat: install juggler and eicrecon with spack
parent
807cc9dd
No related branches found
No related tags found
1 merge request
!674
feat: install juggler and eicrecon with spack
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
.gitlab-ci.yml
+6
-4
6 additions, 4 deletions
.gitlab-ci.yml
containers/jug/dev.Dockerfile
+4
-0
4 additions, 0 deletions
containers/jug/dev.Dockerfile
containers/jug/xl.Dockerfile
+0
-44
0 additions, 44 deletions
containers/jug/xl.Dockerfile
spack.sh
+2
-0
2 additions, 0 deletions
spack.sh
with
12 additions
and
48 deletions
.gitlab-ci.yml
+
6
−
4
View file @
11de0974
...
@@ -311,7 +311,11 @@ jug_dev:
...
@@ -311,7 +311,11 @@ jug_dev:
--build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}"
--build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}"
--build-arg S3_ACCESS_KEY=${S3_ACCESS_KEY}
--build-arg S3_ACCESS_KEY=${S3_ACCESS_KEY}
--build-arg S3_SECRET_KEY=${S3_SECRET_KEY}
--build-arg S3_SECRET_KEY=${S3_SECRET_KEY}
--build-arg JUG_VERSION=${EXPORT_TAG}-${BUILD_TYPE}-$(git rev-parse HEAD)-$(date +%Y-%m-%d_%H-%M-%S)
--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}
}
--build-arg ENV=${ENV}
--build-arg ENV=${ENV}
--build-arg jobs=${JOBS}
--build-arg jobs=${JOBS}
--build-context spack-environment=spack-environment
--build-context spack-environment=spack-environment
...
@@ -345,9 +349,7 @@ jug_xl:default:
...
@@ -345,9 +349,7 @@ jug_xl:default:
--build-arg DOCKER_REGISTRY=${CI_REGISTRY}/${CI_PROJECT_PATH}/
--build-arg DOCKER_REGISTRY=${CI_REGISTRY}/${CI_PROJECT_PATH}/
--build-arg BASE_IMAGE=${BASE_IMAGE}
--build-arg BASE_IMAGE=${BASE_IMAGE}
--build-arg INTERNAL_TAG=${INTERNAL_TAG}-default
--build-arg INTERNAL_TAG=${INTERNAL_TAG}-default
--build-arg JUGGLER_VERSION=${JUGGLER_VERSION}
--build-arg JUG_VERSION=${EXPORT_TAG}-$(git rev-parse HEAD)
--build-arg EICRECON_VERSION=${EICRECON_VERSION}
--build-arg JUG_VERSION=${EXPORT_TAG}-$(git rev-parse HEAD)-$(date +%Y-%m-%d_%H-%M-%S)
--build-arg jobs=${JOBS}
--build-arg jobs=${JOBS}
--build-context detectors=.
--build-context detectors=.
containers/jug
containers/jug
...
...
This diff is collapsed.
Click to expand it.
containers/jug/dev.Dockerfile
+
4
−
0
View file @
11de0974
...
@@ -105,6 +105,8 @@ FROM spack as builder
...
@@ -105,6 +105,8 @@ FROM spack as builder
## Setup our custom environment (secret mount for write-enabled mirror)
## Setup our custom environment (secret mount for write-enabled mirror)
COPY
--from=spack-environment . /opt/spack-environment/
COPY
--from=spack-environment . /opt/spack-environment/
ARG
ENV=dev
ARG
ENV=dev
ARG
JUGGLER_VERSION="main"
ARG
EICRECON_VERSION="main"
ENV
SPACK_ENV=/opt/spack-environment/${ENV}
ENV
SPACK_ENV=/opt/spack-environment/${ENV}
RUN
--mount
=
type
=
cache,target
=
/ccache,id
=
${
TARGETPLATFORM
}
\
RUN
--mount
=
type
=
cache,target
=
/ccache,id
=
${
TARGETPLATFORM
}
\
--mount
=
type
=
cache,target
=
/var/cache/spack
\
--mount
=
type
=
cache,target
=
/var/cache/spack
\
...
@@ -112,6 +114,8 @@ RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \
...
@@ -112,6 +114,8 @@ RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \
source
$SPACK_ROOT
/share/spack/setup-env.sh
\
source
$SPACK_ROOT
/share/spack/setup-env.sh
\
&&
export
CCACHE_DIR
=
/ccache
\
&&
export
CCACHE_DIR
=
/ccache
\
&&
spack
env
activate
--dir
${
SPACK_ENV
}
\
&&
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
\
&&
make
--jobs
${
jobs
}
--keep-going
--directory
/opt/spack-environment
\
SPACK_ENV
=
${
SPACK_ENV
}
\
SPACK_ENV
=
${
SPACK_ENV
}
\
BUILDCACHE_MIRROR
=
"local eics3rw"
\
BUILDCACHE_MIRROR
=
"local eics3rw"
\
...
...
This diff is collapsed.
Click to expand it.
containers/jug/xl.Dockerfile
+
0
−
44
View file @
11de0974
...
@@ -11,8 +11,6 @@ FROM ${DOCKER_REGISTRY}${BASE_IMAGE}:${INTERNAL_TAG}
...
@@ -11,8 +11,6 @@ FROM ${DOCKER_REGISTRY}${BASE_IMAGE}:${INTERNAL_TAG}
ARG
TARGETPLATFORM
ARG
TARGETPLATFORM
ARG
EICWEB="https://eicweb.phy.anl.gov/api/v4/projects"
ARG
EICWEB="https://eicweb.phy.anl.gov/api/v4/projects"
ARG
JUGGLER_VERSION="main"
ARG
EICRECON_VERSION="main"
ARG
jobs=8
ARG
jobs=8
## version will automatically bust cache for nightly, as it includes
## version will automatically bust cache for nightly, as it includes
...
@@ -22,48 +20,6 @@ ARG JUG_VERSION=1
...
@@ -22,48 +20,6 @@ ARG JUG_VERSION=1
RUN
cd
/tmp
\
RUN
cd
/tmp
\
&&
echo
" - jug_xl:
${
JUG_VERSION
}
"
>>
/etc/jug_info
&&
echo
" - jug_xl:
${
JUG_VERSION
}
"
>>
/etc/jug_info
ADD
${EICWEB}/369/repository/tree?ref=${JUGGLER_VERSION} /tmp/369.json
RUN
--mount
=
type
=
cache,target
=
/ccache/,sharing
=
locked,id
=
${
TARGETPLATFORM
}
\
cd
/tmp
\
&&
echo
"INSTALLING JUGGLER"
\
&&
git clone
-b
${
JUGGLER_VERSION
}
--depth
1
\
https://eicweb.phy.anl.gov/EIC/juggler.git
\
&&
export
CCACHE_DIR
=
/ccache
\
&& cmake -B build -S juggler \
-DCMAKE_CXX_FLAGS="-Wno-psabi" \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
&& cmake --build build -j${jobs} -- install \
&& pushd juggler \
&& echo " - juggler: ${JUGGLER_VERSION}-$(git rev-parse HEAD)" \
>> /etc/jug_info \
&& popd \
&& rm -rf build juggler
ADD
https://api.github.com/repos/eic/eicrecon/commits/${EICRECON_VERSION} /tmp/eicrecon.json
RUN
--mount
=
type
=
cache,target
=
/ccache/,sharing
=
locked,id
=
${
TARGETPLATFORM
}
\
cd
/tmp
\
&&
echo
"INSTALLING EICRECON"
\
&&
git clone
-b
${
EICRECON_VERSION
}
--depth
1
\
https://github.com/eic/eicrecon.git
\
&&
export
CCACHE_DIR
=
/ccache
\
&&
cmake
-B
build
-S
eicrecon
\
-DCMAKE_CXX_FLAGS
=
"-Wno-psabi"
\
-DCMAKE_CXX_STANDARD
=
17
\
-DCMAKE_INSTALL_PREFIX
=
/usr/local
\
-DCMAKE_BUILD_TYPE
=
Release
\
-DCMAKE_C_COMPILER_LAUNCHER
=
ccache
-DCMAKE_CXX_COMPILER_LAUNCHER
=
ccache
\
&&
cmake
--build
build
-j
${
jobs
}
--
install
\
&&
pushd
eicrecon
\
&&
echo
" - eicrecon:
${
EICRECON_VERSION
}
-
$(
git rev-parse HEAD
)
"
\
>>
/etc/jug_info
\
&&
echo
"export JANA_PLUGIN_PATH=/usr/local/lib/EICrecon/plugins"
\
>
/etc/profile.d/z12_eicrecon.sh
\
&&
popd
\
&&
rm
-rf
build eicrecon
## also install detector/ip geometries into opt
## also install detector/ip geometries into opt
ARG
NIGHTLY=''
ARG
NIGHTLY=''
## cache bust when updated repositories
## cache bust when updated repositories
...
...
This diff is collapsed.
Click to expand it.
spack.sh
+
2
−
0
View file @
11de0974
...
@@ -25,6 +25,7 @@ ea1439dfa11a3996c9927ed792dc9fe4b7efc1b8
...
@@ -25,6 +25,7 @@ ea1439dfa11a3996c9927ed792dc9fe4b7efc1b8
ed76eab6943221f17776fd8d128ade6ba69e492c
ed76eab6943221f17776fd8d128ade6ba69e492c
6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5
6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5
e3e7609af4903be7df42b6ae5ccf9a20293503d2
e3e7609af4903be7df42b6ae5ccf9a20293503d2
df4a2457a41e7ab634e86d3148d8b22a9f433a6a
---
---
## Ref: https://github.com/spack/spack/commit/[hash]
## Ref: https://github.com/spack/spack/commit/[hash]
## [hash]: [description]
## [hash]: [description]
...
@@ -45,3 +46,4 @@ e3e7609af4903be7df42b6ae5ccf9a20293503d2
...
@@ -45,3 +46,4 @@ e3e7609af4903be7df42b6ae5ccf9a20293503d2
## ed76eab6943221f17776fd8d128ade6ba69e492c: geant4: new version 11.1.2
## ed76eab6943221f17776fd8d128ade6ba69e492c: geant4: new version 11.1.2
## 6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5: cernlib: new variant shared
## 6c5d125cb06a86ce05bec27ae9fb9b07103bc1c5: cernlib: new variant shared
## e3e7609af4903be7df42b6ae5ccf9a20293503d2: edm4hep: Add version 0.9
## e3e7609af4903be7df42b6ae5ccf9a20293503d2: edm4hep: Add version 0.9
## df4a2457a41e7ab634e86d3148d8b22a9f433a6a: Fix broken semver regex
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment