Drop support for GCC 7

This commit is contained in:
Ole Schütt 2023-07-12 20:17:10 +02:00 committed by Ole Schütt
parent 11d6cc074d
commit f3ef4210c3
4 changed files with 1 additions and 132 deletions

View file

@ -105,12 +105,6 @@ name: Ubuntu, GCC 8 (ssmp)
host: GCP
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_gcc8_report.txt
[gcc7]
sortkey: 456
name: Ubuntu, GCC 7 (ssmp)
host: GCP
report_url: https://storage.googleapis.com/cp2k-ci/dashboard_gcc7_report.txt
# ==============================================================================
[cuda-pascal]

View file

@ -1,118 +0,0 @@
#
# This file was created by generate_dockerfiles.py.
# Usage: docker build -f ./Dockerfile.test_gcc7 ../../
#
FROM ubuntu:20.04
# Install Ubuntu packages.
RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true && \
apt-get update -qq && apt-get install -qq --no-install-recommends \
cmake \
gcc-7 \
g++-7 \
gfortran-7 \
libfftw3-dev \
libopenblas-dev \
libgsl-dev \
libhdf5-dev \
&& rm -rf /var/lib/apt/lists/*
# Create links in /usr/local/bin to overrule links in /usr/bin.
RUN ln -sf /usr/bin/gcc-7 /usr/local/bin/gcc && \
ln -sf /usr/bin/g++-7 /usr/local/bin/g++ && \
ln -sf /usr/bin/gfortran-7 /usr/local/bin/gfortran
# Install requirements for the toolchain.
WORKDIR /opt/cp2k-toolchain
COPY ./tools/toolchain/install_requirements*.sh ./
RUN ./install_requirements.sh ubuntu
# Install the toolchain.
RUN mkdir scripts
COPY ./tools/toolchain/scripts/VERSION \
./tools/toolchain/scripts/parse_if.py \
./tools/toolchain/scripts/tool_kit.sh \
./tools/toolchain/scripts/common_vars.sh \
./tools/toolchain/scripts/signal_trap.sh \
./tools/toolchain/scripts/get_openblas_arch.sh \
./scripts/
COPY ./tools/toolchain/install_cp2k_toolchain.sh .
RUN ./install_cp2k_toolchain.sh \
--mpi-mode=no \
--with-gcc=system \
--with-cmake=system \
--with-fftw=system \
--with-openblas=system \
--with-gsl=system \
--with-hdf5=system \
--with-libint=install \
--with-libxc=install \
--with-libxsmm=install \
--with-libvori=install \
--dry-run
# Dry-run leaves behind config files for the followup install scripts.
# This breaks up the lengthy installation into smaller docker build steps.
COPY ./tools/toolchain/scripts/stage0/ ./scripts/stage0/
RUN ./scripts/stage0/install_stage0.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage1/ ./scripts/stage1/
RUN ./scripts/stage1/install_stage1.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage2/ ./scripts/stage2/
RUN ./scripts/stage2/install_stage2.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage3/ ./scripts/stage3/
RUN ./scripts/stage3/install_stage3.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage4/ ./scripts/stage4/
RUN ./scripts/stage4/install_stage4.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage5/ ./scripts/stage5/
RUN ./scripts/stage5/install_stage5.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage6/ ./scripts/stage6/
RUN ./scripts/stage6/install_stage6.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage7/ ./scripts/stage7/
RUN ./scripts/stage7/install_stage7.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/stage8/ ./scripts/stage8/
RUN ./scripts/stage8/install_stage8.sh && rm -rf ./build
COPY ./tools/toolchain/scripts/arch_base.tmpl \
./tools/toolchain/scripts/generate_arch_files.sh \
./scripts/
RUN ./scripts/generate_arch_files.sh && rm -rf ./build
# Install CP2K using local.ssmp.
WORKDIR /opt/cp2k
COPY ./Makefile .
COPY ./src ./src
COPY ./exts ./exts
COPY ./tools/build_utils ./tools/build_utils
RUN /bin/bash -c " \
mkdir -p arch && \
ln -vs /opt/cp2k-toolchain/install/arch/local.ssmp ./arch/ && \
echo 'Compiling cp2k...' && \
source /opt/cp2k-toolchain/install/setup && \
( make -j ARCH=local VERSION=ssmp &> /dev/null || true ) && \
rm -rf lib obj"
COPY ./data ./data
COPY ./tests ./tests
COPY ./tools/regtesting ./tools/regtesting
# Run regression tests.
ARG TESTOPTS="--skipdir=QS/regtest-rs-dhft"
COPY ./tools/docker/scripts/test_regtest.sh ./
RUN /bin/bash -o pipefail -c " \
TESTOPTS="${TESTOPTS}" \
./test_regtest.sh 'local' 'ssmp' |& tee report.log && \
rm -rf regtesting"
# Output the report if the image is old and was therefore pulled from the build cache.
CMD cat $(find ./report.log -mmin +10) | sed '/^Summary:/ s/$/ (cached)/'
ENTRYPOINT []
#EOF

View file

@ -135,13 +135,6 @@ dockerfile: /tools/docker/Dockerfile.test_asan-psmp
#-------------------------------------------------------------------------------
[gcc7]
display_name: Ubuntu, GCC 7 (ssmp)
cpu: 32
nodepools: pool-t2d-32
build_path: /
dockerfile: /tools/docker/Dockerfile.test_gcc7
[gcc8]
display_name: Ubuntu, GCC 8 (ssmp)
cpu: 32

View file

@ -57,7 +57,7 @@ def main() -> None:
with OutputFile(f"Dockerfile.test_coverage-{version}", args.check) as f:
f.write(toolchain_full() + coverage(version))
for gcc_version in 7, 8, 9, 10, 11, 12:
for gcc_version in 8, 9, 10, 11, 12:
with OutputFile(f"Dockerfile.test_gcc{gcc_version}", args.check) as f:
img = "ubuntu:22.04" if gcc_version > 8 else "ubuntu:20.04"
f.write(toolchain_ubuntu_nompi(base_image=img, gcc_version=gcc_version))