diff --git a/.github/workflows/debuntu_docker_images.yml b/.github/workflows/debuntu_docker_images.yml index 1725881f..de275936 100644 --- a/.github/workflows/debuntu_docker_images.yml +++ b/.github/workflows/debuntu_docker_images.yml @@ -40,5 +40,7 @@ jobs: MPI=${{ matrix.mpi }} DISTRO=${{ steps.info.outputs.distro }} DISTRO_VERSION=${{ steps.info.outputs.distro_version }} + CMAKE_MINIMAL_VERSION_FOR_CATALYST=3.26.0 + CATALYST_VERSION=2.0 tags: | ${{ steps.info.outputs.tags }} diff --git a/debuntu/all/Dockerfile b/debuntu/all/Dockerfile index 75554411..24020c71 100644 --- a/debuntu/all/Dockerfile +++ b/debuntu/all/Dockerfile @@ -97,12 +97,82 @@ RUN mkdir -p /opt/veloc \ && ./auto-install.py /opt/veloc -# stage : pre_main image with VeloC +# stage : catalyst builder +FROM pre_main AS builder_catalyst + +ARG CATALYST_VERSION +ARG CMAKE_MINIMAL_VERSION_FOR_CATALYST + +RUN mkdir -p /opt +ENV HOME=/opt +WORKDIR ${HOME} + +RUN set -ex \ +&& export DEBIAN_FRONTEND=noninteractive \ +&& apt-get update -y \ +&& apt-get upgrade -y \ +&& apt-get install -y --no-install-recommends \ + apt-transport-https \ + ca-certificates \ + git \ + ninja-build \ + curl \ +&& rm -rf /var/lib/apt/lists/* + +RUN < /etc/ld.so.conf.d/image_catalyst.conf \ +&& ldconfig + COPY --from=velocdl /opt/veloc /opt/veloc ENV veloc_ROOT=/opt/veloc @@ -127,7 +197,8 @@ WORKDIR ${HOME} # stage : PDI download for tests FROM alpine/git AS pdidl -RUN git -C /root clone --recurse-submodules https://github.com/pdidev/pdi.git /root/pdi +#RUN git -C /root clone --recurse-submodules https://github.com/pdidev/pdi.git /root/pdi +RUN git -C /root clone -b catalyst-plugin --recurse-submodules https://github.com/francois-kitware/pdi /root/pdi # stage : test diff --git a/spack/3-baselibs/deps.sh b/spack/3-baselibs/deps.sh index 09e95a4c..3d4659cc 100644 --- a/spack/3-baselibs/deps.sh +++ b/spack/3-baselibs/deps.sh @@ -3,7 +3,9 @@ BASE_BUILDDEPS="cmake doxygen pkgconf py-setuptools" # libraries that are required in all cases BASE_LIBS="py-numpy py-pyyaml python" # libraries that depend on MPI & are required in all cases -BASE_MPILIBS="py-mpi4py veloc" +BASE_MPILIBS="py-mpi4py veloc libcatalyst+mpi+python" +#TODO: libcatalyst+python was introduced in spack 0.22, switch back to a single list when our minimum requirement goes at or above that +BASE_MPILIBS_OLDSPACK="py-mpi4py veloc libcatalyst+mpi" # libraries that are optional because embedded in PDI OPT_LIBS="paraconf py-pybind11 spdlog" # libraries that depend on MPI & are optional because embedded in PDI diff --git a/spack/4-mini/Dockerfile b/spack/4-mini/Dockerfile index 911dcbfa..422e0d64 100644 --- a/spack/4-mini/Dockerfile +++ b/spack/4-mini/Dockerfile @@ -13,6 +13,16 @@ ARG SPACK_INSTALL_ARGS="--show-log-on-error --fail-fast" # Add our MPI of choice and base MPI-dependant libs to the environment and install it RUN spack -e pdienv add -l mpi "${MPI}" -RUN . deps.sh && spack -e pdienv add -l mpilibs ${BASE_MPILIBS} +RUN <