Add two testers for make_cp2k.sh build script

This commit is contained in:
Matthias Krack 2026-01-24 17:10:36 +01:00
parent 0d91bdb03c
commit ca6b8f8fc6
6 changed files with 177 additions and 2 deletions

View file

@ -555,7 +555,7 @@ fi
# Retrieve paths to "hidden" libraries
LD_LIBRARY_PATH="${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}"
echo -e "\nLD_LIBRARY_PATH = \"${LD_LIBRARY_PATH}\"\n"
echo -e "\nLD_LIBRARY_PATH = \"${LD_LIBRARY_PATH}\""
if ldd "${INSTALL_PREFIX}/bin/cp2k.${CP2K_VERSION}" | grep -q "not found"; then
echo -e "\n*** Some libraries referenced by the CP2K binary are NOT found:"
ldd "${INSTALL_PREFIX}/bin/cp2k.${CP2K_VERSION}" | grep "not found"

View file

@ -318,4 +318,20 @@ timeout: 170
host: GCP
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_asan-psmp_report.txt
# ==============================================================================
[make-cp2k-psmp]
sortkey: 2000
name: make_cp2k (psmp)
timeout: 170
host: GCP
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_make-cp2k-psmp_report.txt
[make-cp2k-ssmp]
sortkey: 2010
name: make_cp2k (ssmp)
timeout: 170
host: GCP
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_make-cp2k-ssmp_report.txt
#EOF

View file

@ -0,0 +1,45 @@
#
# This file was created by generate_dockerfiles.py.
# Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -f ./Dockerfile.make_cp2k_psmp ../../
#
FROM "ubuntu:24.04"
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
bzip2 \
ca-certificates \
cmake \
g++ \
gcc \
gfortran \
git \
gnupg \
hwloc \
libhwloc-dev \
libssh-dev \
libssl-dev \
libtool \
libtool-bin \
lsb-release \
make \
ninja-build \
patch \
pkgconf \
python3 \
python3-dev \
python3-pip \
python3-venv \
unzip \
wget \
xxd \
xz-utils \
zstd \
&& rm -rf /var/lib/apt/lists/*
ARG SPACK_CACHE="s3://spack-cache --s3-endpoint-url=http://localhost:9000"
WORKDIR /opt
COPY . cp2k/
WORKDIR /opt/cp2k
RUN ./make_cp2k.sh -cv psmp -t ""

View file

@ -0,0 +1,45 @@
#
# This file was created by generate_dockerfiles.py.
# Usage: ./spack_cache_start.sh; podman build --network=host --shm-size=1g -f ./Dockerfile.make_cp2k_ssmp ../../
#
FROM "ubuntu:24.04"
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
bzip2 \
ca-certificates \
cmake \
g++ \
gcc \
gfortran \
git \
gnupg \
hwloc \
libhwloc-dev \
libssh-dev \
libssl-dev \
libtool \
libtool-bin \
lsb-release \
make \
ninja-build \
patch \
pkgconf \
python3 \
python3-dev \
python3-pip \
python3-venv \
unzip \
wget \
xxd \
xz-utils \
zstd \
&& rm -rf /var/lib/apt/lists/*
ARG SPACK_CACHE="s3://spack-cache --s3-endpoint-url=http://localhost:9000"
WORKDIR /opt
COPY . cp2k/
WORKDIR /opt/cp2k
RUN ./make_cp2k.sh -cv ssmp -t ""

View file

@ -98,6 +98,22 @@ nodepools: pool-main
build_path: /
dockerfile: /tools/docker/Dockerfile.test_spack_openmpi-psmp
[make-cp2k-psmp]
display_name: make_cp2k (psmp)
tags: daily
cpu: 32
nodepools: pool-main
build_path: /
dockerfile: /tools/docker/Dockerfile.make_cp2k_psmp
[make-cp2k-ssmp]
display_name: make_cp2k (ssmp)
tags: daily
cpu: 32
nodepools: pool-main
build_path: /
dockerfile: /tools/docker/Dockerfile.make_cp2k_ssmp
[conventions]
display_name: Conventions
tags: daily

View file

@ -53,6 +53,12 @@ def main() -> None:
f.write(install_deps_ubuntu())
f.write(regtest("minimal", "ssmp"))
with OutputFile(f"Dockerfile.make_cp2k_psmp", args.check) as f:
f.write(install_make_cp2k("psmp", mpi_mode="mpich"))
with OutputFile(f"Dockerfile.make_cp2k_ssmp", args.check) as f:
f.write(install_make_cp2k("ssmp", mpi_mode="mpich"))
with OutputFile(f"Dockerfile.test_spack_psmp", args.check) as f:
f.write(install_deps_spack("psmp", mpi_mode="mpich"))
f.write(regtest("spack", "psmp"))
@ -659,6 +665,53 @@ RUN make -j${{NUM_PROCS}} --file=spack_makefile SPACK_COLOR=never --output-sync=
return output
# ======================================================================================
def install_make_cp2k(version: str, mpi_mode: str) -> str:
output = rf"""
FROM "ubuntu:24.04"
RUN apt-get update -qq && apt-get install -qq --no-install-recommends \
bzip2 \
ca-certificates \
cmake \
g++ \
gcc \
gfortran \
git \
gnupg \
hwloc \
libhwloc-dev \
libssh-dev \
libssl-dev \
libtool \
libtool-bin \
lsb-release \
make \
ninja-build \
patch \
pkgconf \
python3 \
python3-dev \
python3-pip \
python3-venv \
unzip \
wget \
xxd \
xz-utils \
zstd \
&& rm -rf /var/lib/apt/lists/*
ARG SPACK_CACHE="s3://spack-cache --s3-endpoint-url=http://localhost:9000"
WORKDIR /opt
COPY . cp2k/
WORKDIR /opt/cp2k
RUN ./make_cp2k.sh -cv {version} -t ""
"""
return output
# ======================================================================================
class OutputFile:
def __init__(self, filename: str, check: bool) -> None:
@ -667,7 +720,7 @@ class OutputFile:
self.content = io.StringIO()
self.content.write(f"#\n")
self.content.write(f"# This file was created by generate_dockerfiles.py.\n")
if "_spack_" in filename:
if "_spack_" in filename or "make_cp2k_" in filename:
usage = f"./spack_cache_start.sh; podman build --network=host --shm-size=1g -f ./{filename} ../../"
else:
usage = f"podman build --shm-size=1g -f ./{filename} ../../"