diff --git a/tools/dashboard/dashboard.conf b/tools/dashboard/dashboard.conf index 3d95d82d04..ae0c67466a 100644 --- a/tools/dashboard/dashboard.conf +++ b/tools/dashboard/dashboard.conf @@ -323,6 +323,13 @@ timeout: 170 host: GCP report_url: https://storage.googleapis.com/cp2k-ci/dashboard_spack-psmp-fedora_report.txt +[spack-psmp-opensuse] +sortkey: 1044 +name: Spack (psmp, opensuse) +timeout: 170 +host: GCP +report_url: https://storage.googleapis.com/cp2k-ci/dashboard_spack-psmp-opensuse_report.txt + [spack-psmp-gcc10] sortkey: 1045 name: Spack (psmp, GCC 10) diff --git a/tools/docker/Dockerfile.test_spack_psmp-opensuse b/tools/docker/Dockerfile.test_spack_psmp-opensuse new file mode 100644 index 0000000000..5bb61c8303 --- /dev/null +++ b/tools/docker/Dockerfile.test_spack_psmp-opensuse @@ -0,0 +1,84 @@ +# +# This file was created by generate_dockerfiles.py. +# Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -f ./Dockerfile.test_spack_psmp-opensuse ../../ +# + +ARG BASE_IMAGE="opensuse/leap:15.6" + +###### Stage 1: Build CP2K ###### + +FROM "${BASE_IMAGE}" AS build_cp2k + +RUN zypper --non-interactive ref && \ + zypper --non-interactive in --no-recommends \ + bzip2 \ + cmake \ + gcc gcc14 gcc-c++ gcc14-c++ gcc-fortran gcc14-fortran \ + git \ + gzip \ + libssh-devel \ + libopenssl-devel \ + libtool \ + lsb-release \ + make \ + patch \ + pkgconf \ + python311 \ + python311-devel \ + unzip \ + wget \ + xz \ + zstd \ + && zypper --non-interactive clean --all + +RUN ln -sf /usr/bin/python3.11 /usr/local/bin/python3 && \ + ln -sf /usr/bin/python3.11 /usr/local/bin/python + +ARG SPACK_CACHE="s3://spack-cache --s3-endpoint-url=http://localhost:9000" + +# Copy CP2K repository into container +WORKDIR /opt +COPY . cp2k/ + +# Build CP2K dependencies +WORKDIR /opt/cp2k +RUN /bin/bash -o pipefail -c "source ./make_cp2k.sh -bd_only -cv psmp -gv 14 -mpi mpich -ue" + +# Build and install CP2K +RUN /bin/bash -o pipefail -c "source ./make_cp2k.sh -cv psmp -gv 14 -mpi mpich" + +###### Stage 2: Install CP2K ###### + +FROM "${BASE_IMAGE}" AS install_cp2k + +RUN zypper --non-interactive ref && \ + zypper --non-interactive in --no-recommends \ + gcc gcc14 gcc-c++ gcc14-c++ gcc-fortran gcc14-fortran \ + python311 \ + && zypper --non-interactive clean --all + +RUN ln -sf /usr/bin/python3.11 /usr/local/bin/python3 && \ + ln -sf /usr/bin/python3.11 /usr/local/bin/python + +WORKDIR /opt/cp2k + +# Install CP2K dependencies built with spack +COPY --from=build_cp2k /opt/cp2k/spack/spack-1.1.0/opt/spack ./spack/spack-1.1.0/opt/spack + +# Install CP2K +COPY --from=build_cp2k /opt/cp2k/install ./install + +# Install CP2K regression tests +COPY --from=build_cp2k /opt/cp2k/tests ./tests +COPY --from=build_cp2k /opt/cp2k/src/grid/sample_tasks ./src/grid/sample_tasks + +# Install CP2K/Quickstep CI benchmarks +COPY --from=build_cp2k /opt/cp2k/benchmarks/CI ./benchmarks/CI + +# Run CP2K regression test +RUN /bin/bash -o pipefail -c "/opt/cp2k/install/bin/entrypoint.sh /opt/cp2k/install/bin/run_tests " + +# Create entrypoint and finalise container build +WORKDIR /mnt +ENTRYPOINT ["/opt/cp2k/install/bin/entrypoint.sh"] +CMD ["cp2k", "--help"] diff --git a/tools/docker/cp2k-ci.conf b/tools/docker/cp2k-ci.conf index 73b35f1240..0291dd667d 100644 --- a/tools/docker/cp2k-ci.conf +++ b/tools/docker/cp2k-ci.conf @@ -382,6 +382,14 @@ nodepools: pool-main build_path: / dockerfile: /tools/docker/Dockerfile.test_spack_psmp-fedora +[spack-psmp-opensuse] +display_name: Spack (psmp, opensuse) +tags: weekly-afternoon +cpu: 32 +nodepools: pool-main +build_path: / +dockerfile: /tools/docker/Dockerfile.test_spack_psmp-opensuse + [spack-psmp-gcc10] display_name: Spack (psmp, GCC 10) tags: weekly-afternoon