22ARG BASE_IMAGE=ecpe4s/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01
33FROM $BASE_IMAGE
44
5- ARG E4S_VERSION=23.08
5+ ARG E4S_VERSION=24.05
66ARG ENABLED_ENVS="serial,ompi,mpich"
7+ ARG EXTERNAL_PACKAGES
78ARG EXTRA_VARIANTS
8- ARG EXTRA_PACKAGES
9+
910
1011# Clone and patch spack
1112WORKDIR /
1213RUN if ! [ -d /spack ]; then \
1314 git clone --depth 1 --single-branch --branch e4s-${E4S_VERSION} https://github.com/spack/spack; \
15+ else \
16+ git fetch --all && git checkout -t origin/e4s-${E4S_VERSION}; \
1417 fi
1518
19+ COPY 0001-mpich-support-ch3-sock.patch /spack
1620COPY packages.yaml /etc/spack/packages.yaml
21+
22+ WORKDIR /spack
1723# TODO: Patch only needed until we merge https://github.com/spack/spack/pull/40964
18- # COPY 0001-mpich-support-ch3-sock.patch /spack
24+ RUN if [ ${E4S_VERSION%.*} -le 23 ]; then git apply 0001-mpich-support-ch3-sock.patch; fi
1925
2026# Install base specs
21- WORKDIR /spack
2227RUN . /spack/share/spack/setup-env.sh && \
28+ spack external find ${EXTERNAL_PACKAGES} && \
2329 spack mirror add E4S "https://cache.e4s.io/${E4S_VERSION}" && \
2430 export ADIOS_SPEC_NO_MPI="adios2~mpi${EXTRA_VARIANTS}" && \
25- export ADIOS_SPEC_OPENMPI="adios2+mpi${EXTRA_VARIANTS}^openmpi" && \
26- export ADIOS_SPEC_MPICH="adios2+mpi${EXTRA_VARIANTS}^mpich" && \
31+ export ADIOS_SPEC_OPENMPI="adios2+mpi${EXTRA_VARIANTS} ^openmpi" && \
32+ export ADIOS_SPEC_MPICH="adios2+mpi${EXTRA_VARIANTS} ^mpich" && \
2733 spack config add "config:checksum:false" && \
2834 spack config add "config:build_jobs:$(nproc)" && \
2935 spack config add "concretizer:unify:true" && \
3036 if echo "$ENABLED_ENVS" | grep -q serial; then \
3137 spack env create adios2-ci-serial && \
32- spack -e adios2-ci-serial add ${EXTRA_PACKAGES} && \
3338 spack -e adios2-ci-serial add ${ADIOS_SPEC_NO_MPI} && \
3439 spack -e adios2-ci-serial concretize && \
3540 spack -e adios2-ci-serial install \
@@ -40,7 +45,6 @@ RUN . /spack/share/spack/setup-env.sh && \
4045 fi && \
4146 if echo "$ENABLED_ENVS" | grep -q ompi ; then \
4247 spack env create adios2-ci-ompi && \
43- spack -e adios2-ci-ompi add ${EXTRA_PACKAGES} && \
4448 spack -e adios2-ci-ompi add ${ADIOS_SPEC_OPENMPI} && \
4549 spack -e adios2-ci-ompi concretize && \
4650 spack -e adios2-ci-ompi install \
@@ -51,7 +55,6 @@ RUN . /spack/share/spack/setup-env.sh && \
5155 fi && \
5256 if echo "$ENABLED_ENVS" | grep -q mpich; then \
5357 spack env create adios2-ci-mpich && \
54- spack -e adios2-ci-mpich add ${EXTRA_PACKAGES} && \
5558 spack -e adios2-ci-mpich add ${ADIOS_SPEC_MPICH} && \
5659 spack -e adios2-ci-mpich concretize && \
5760 spack -e adios2-ci-mpich install \
0 commit comments