From 322df93ec034425e0a54febdfe0f92ebd6321684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Grad?= Date: Tue, 9 Apr 2024 18:59:12 +0200 Subject: [PATCH] Add Ubuntu 24.04 image --- .github/workflows/build.yml | 2 +- docker/Dockerfile-ubuntu-24.04 | 95 ++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 docker/Dockerfile-ubuntu-24.04 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9882656..6dbc4b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - image: ['debian', 'fedora', 'ubuntu-22.04', 'ubuntu-wo-dependencies'] + image: ['debian', 'fedora', 'ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-wo-dependencies'] steps: - uses: actions/checkout@main - name: Build and deploy diff --git a/docker/Dockerfile-ubuntu-24.04 b/docker/Dockerfile-ubuntu-24.04 new file mode 100644 index 0000000..d7b636c --- /dev/null +++ b/docker/Dockerfile-ubuntu-24.04 @@ -0,0 +1,95 @@ +FROM ubuntu:noble +COPY install-pfft.sh /tmp +COPY install-scafacos.sh /tmp +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ + apt-utils \ + autoconf \ + automake \ + build-essential \ + ccache \ + clang-18 clang-tidy-18 clang-format-18 llvm-18 libclang-rt-18-dev \ + cmake \ + cmake-format \ + curl \ + cython3 \ + doxygen \ + ffmpeg \ + gcc-12 g++-12 \ + gcc-13 g++-13 \ + gdb \ + gfortran \ + git \ + gnupg \ + graphviz \ + jq \ + lcov \ + libblas-dev \ + libboost-dev \ + libboost-filesystem-dev \ + libboost-mpi-dev \ + libboost-serialization-dev \ + libboost-test-dev \ + libdigest-sha-perl \ + libfftw3-dev \ + libfftw3-mpi-dev \ + libgsl-dev \ + libhdf5-openmpi-dev \ + liblapack-dev \ + libopenmpi-dev \ + libthrust-dev \ + libtool \ + npm \ + nvidia-cuda-toolkit \ + openmpi-bin \ + openssh-client \ + pkg-config \ + pre-commit \ + python3 \ + python3-dev \ + pylint \ + python3-autopep8 \ + python3-coverage \ + python3-dev \ + python3-h5py \ + python3-lxml \ + python3-matplotlib \ + python3-nbconvert \ + python3-numpy \ + python3-numpydoc \ + python3-pint \ + python3-pip \ + python3-pycodestyle \ + python3-requests \ + python3-scipy \ + python3-setuptools \ + python3-sphinx \ + python3-sphinxcontrib.bibtex \ + python3-tqdm \ + python3-venv \ + python3-vtk9 \ + rsync \ + vim && \ + rm /usr/lib/x86_64-linux-gnu/librt.a /usr/lib/x86_64-linux-gnu/libpthread.a /usr/lib/x86_64-linux-gnu/libdl.a && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +RUN bash /tmp/install-pfft.sh && rm /tmp/install-pfft.sh && \ + bash /tmp/install-scafacos.sh && rm /tmp/install-scafacos.sh && \ + ldconfig + +ENV NVIDIA_VISIBLE_DEVICES all +ENV NVIDIA_DRIVER_CAPABILITIES compute,utility + +RUN useradd -m espresso +USER espresso +ENV HOME="/home/espresso" +RUN cd "${HOME}" && \ + python3 -m venv --system-site-packages venv && \ + . venv/bin/activate && \ + python3 -m pip install --no-cache \ + jupyterlab==4.0.13 \ + sphinx-toggleprompt==0.5.2 && \ + deactivate && \ + echo "source ${HOME}/venv/bin/activate" >> "${HOME}/.bash_login" +WORKDIR /home/espresso