From 0d34f66ad88c536c2f6a0408765a7089ea940186 Mon Sep 17 00:00:00 2001 From: walshmm Date: Fri, 28 Apr 2023 11:56:33 -0400 Subject: [PATCH] update ci ubuntu images from 20.04 to 22.04 --- .github/workflows/ci-github-actions.yaml | 20 +++---- .../ubuntu22/clang-latest/Dockerfile | 46 ++++++++++++++ .../dependencies/ubuntu22/openmpi/Dockerfile | 60 +++++++++++++++++++ 3 files changed, 116 insertions(+), 10 deletions(-) create mode 100644 config/docker/dependencies/ubuntu22/clang-latest/Dockerfile create mode 100644 config/docker/dependencies/ubuntu22/openmpi/Dockerfile diff --git a/.github/workflows/ci-github-actions.yaml b/.github/workflows/ci-github-actions.yaml index 926a92e0b5..fab49c4284 100644 --- a/.github/workflows/ci-github-actions.yaml +++ b/.github/workflows/ci-github-actions.yaml @@ -40,32 +40,32 @@ jobs: include: - jobname: GCC9-NoMPI-Debug-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC9-NoMPI-NoOMP-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC9-NoMPI-NoOMP-Complex container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC9-NoMPI-Sandbox-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC9-MPI-Gcov-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC9-MPI-Gcov-Complex container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: GCC11-NoMPI-Werror-Real @@ -90,22 +90,22 @@ jobs: - jobname: Clang10-NoMPI-ASan-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: Clang10-NoMPI-ASan-Complex container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: Clang10-NoMPI-UBSan-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-openmpi + image: walshmm/qmcpack-ci:ubuntu22-openmpi options: -u 1001 - jobname: Clang12-NoMPI-Offload-Real container: - image: williamfgc/qmcpack-ci:ubuntu20-clang-latest + image: walshmm/qmcpack-ci:ubuntu22-clang-latest options: -u 1001 steps: diff --git a/config/docker/dependencies/ubuntu22/clang-latest/Dockerfile b/config/docker/dependencies/ubuntu22/clang-latest/Dockerfile new file mode 100644 index 0000000000..2e1cf99144 --- /dev/null +++ b/config/docker/dependencies/ubuntu22/clang-latest/Dockerfile @@ -0,0 +1,46 @@ +FROM ubuntu:22.04 + +RUN export DEBIAN_FRONTEND=noninteractive &&\ + apt-get update -y &&\ + apt-get upgrade -y apt-utils &&\ + apt-get install -y gpg wget + +# Dependencies +RUN wget https://apt.kitware.com/kitware-archive.sh &&\ + sh kitware-archive.sh + +RUN export DEBIAN_FRONTEND=noninteractive &&\ + apt-get install gcc g++ \ + python3 \ + cmake \ + ninja-build \ + libboost-all-dev \ + git \ + libhdf5-serial-dev \ + hdf5-tools \ + libfftw3-dev \ + libopenblas-openmp-dev \ + libxml2-dev \ + sudo \ + curl \ + rsync \ + wget \ + software-properties-common \ + vim \ + -y + +# add the latest clang development +RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key| apt-key add - &&\ + apt-add-repository 'deb http://apt.llvm.org/focal/ llvm-toolchain-focal-12 main' +RUN apt-get update -y &&\ + apt-get install clang-12 clang-tools-12 libomp-12-dev -y + +# must add a user different from root +# to run MPI executables +RUN useradd -ms /bin/bash user +# allow in sudoers to install packages +RUN adduser user sudo +RUN echo "user:user" | chpasswd + +USER user +WORKDIR /home/user diff --git a/config/docker/dependencies/ubuntu22/openmpi/Dockerfile b/config/docker/dependencies/ubuntu22/openmpi/Dockerfile new file mode 100644 index 0000000000..0c292e0fc7 --- /dev/null +++ b/config/docker/dependencies/ubuntu22/openmpi/Dockerfile @@ -0,0 +1,60 @@ +FROM ubuntu:22.04 + +RUN export DEBIAN_FRONTEND=noninteractive &&\ + apt-get clean &&\ + apt-get update -y &&\ + apt-get upgrade -y apt-utils &&\ + apt-get install -y gpg wget + +# Dependencies +RUN wget https://apt.kitware.com/kitware-archive.sh &&\ + sh kitware-archive.sh + +RUN export DEBIAN_FRONTEND=noninteractive &&\ + apt-get install gcc g++ \ + clang \ + clang-format \ + clang-tidy \ + libomp-dev \ + gcovr \ + python3 \ + cmake \ + ninja-build \ + libboost-all-dev \ + git \ + libopenmpi-dev \ + libhdf5-openmpi-dev \ + libhdf5-serial-dev \ + hdf5-tools \ + libfftw3-dev \ + libopenblas-openmp-dev \ + libxml2-dev \ + sudo \ + curl \ + rsync \ + wget \ + software-properties-common \ + vim \ + numdiff \ + -y + +# Python packages for tests +RUN export DEBIAN_FRONTEND=noninteractive &&\ + apt-get install python3-numpy \ + python3-h5py \ + python3-pandas \ + python3-pip \ + -y + +RUN export DEBIAN_FRONTEND=noninteractive &&\ + pip3 install cif2cell + +# must add a user different from root +# to run MPI executables +RUN useradd -ms /bin/bash user +# allow in sudoers to install packages +RUN adduser user sudo +RUN echo "user:user" | chpasswd + +USER user +WORKDIR /home/user