diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2022-04-22 08:51:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-22 08:51:26 +0200 |
commit | f961a11187a514dab4fb4a615544d480ab6b39c2 (patch) | |
tree | 64562edf92a0542e98168f242e4b033cf9af1e8e /share | |
parent | b00983439fc3f11365664853d80cb7f497fd88a6 (diff) | |
download | spack-f961a11187a514dab4fb4a615544d480ab6b39c2.tar.gz spack-f961a11187a514dab4fb4a615544d480ab6b39c2.tar.bz2 spack-f961a11187a514dab4fb4a615544d480ab6b39c2.tar.xz spack-f961a11187a514dab4fb4a615544d480ab6b39c2.zip |
Update Dockerfiles and images for Spack v0.18.0 (#30216)
This PR updates the list of images we build nightly, deprecating
Ubuntu 16.04 and CentOS 8 and adding Ubuntu 20.04, Ubuntu 22.04
and CentOS Stream. It also removes a lot of duplication by generating
the Dockerfiles during the CI workflow and uploading them as artifacts
for later inspection or reuse.
Diffstat (limited to 'share')
-rw-r--r-- | share/spack/docker/amazonlinux-2.dockerfile | 69 | ||||
-rw-r--r-- | share/spack/docker/centos-7.dockerfile | 73 | ||||
-rw-r--r-- | share/spack/docker/leap-15.dockerfile | 72 | ||||
-rw-r--r-- | share/spack/docker/modules.yaml | 8 | ||||
-rw-r--r-- | share/spack/docker/ubuntu-1604.dockerfile | 73 | ||||
-rw-r--r-- | share/spack/docker/ubuntu-1804.dockerfile | 73 | ||||
-rw-r--r-- | share/spack/templates/container/amazonlinux_2.dockerfile | 8 | ||||
-rw-r--r-- | share/spack/templates/container/centos_7.dockerfile | 8 | ||||
-rw-r--r-- | share/spack/templates/container/centos_stream.dockerfile (renamed from share/spack/templates/container/centos_8.dockerfile) | 0 | ||||
-rw-r--r-- | share/spack/templates/container/ubuntu_1604.dockerfile | 32 | ||||
l---------[-rw-r--r--] | share/spack/templates/container/ubuntu_1804.dockerfile | 7 | ||||
-rw-r--r--[l---------] | share/spack/templates/container/ubuntu_2004.dockerfile | 33 | ||||
l--------- | share/spack/templates/container/ubuntu_2204.dockerfile | 1 |
13 files changed, 46 insertions, 411 deletions
diff --git a/share/spack/docker/amazonlinux-2.dockerfile b/share/spack/docker/amazonlinux-2.dockerfile deleted file mode 100644 index 93d67d9c4d..0000000000 --- a/share/spack/docker/amazonlinux-2.dockerfile +++ /dev/null @@ -1,69 +0,0 @@ -FROM public.ecr.aws/amazonlinux/amazonlinux:2.0.20201111.0 -MAINTAINER Spack Maintainers <maintainers@spack.io> - -ENV DOCKERFILE_BASE=centos \ - DOCKERFILE_DISTRO=centos \ - DOCKERFILE_DISTRO_VERSION=7 \ - SPACK_ROOT=/opt/spack \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -RUN yum update -y \ - && yum groupinstall -y "Development Tools" \ - && yum install -y \ - curl \ - findutils \ - gcc-c++ \ - gcc \ - gcc-gfortran \ - git \ - gnupg2 \ - hostname \ - iproute \ - make \ - patch \ - python3 \ - python3-pip \ - python3-setuptools \ - tcl \ - unzip \ - which \ - && pip3 install boto3 \ - && rm -rf /var/cache/yum \ - && yum clean all - -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -RUN ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/docker-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/interactive-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/spack-env - -RUN mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* /run/nologin $SPACK_ROOT/.git - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \\&\\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["docker-shell"] - -# TODO: add a command to Spack that (re)creates the package cache -RUN spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["interactive-shell"] diff --git a/share/spack/docker/centos-7.dockerfile b/share/spack/docker/centos-7.dockerfile deleted file mode 100644 index a8c6d64a2c..0000000000 --- a/share/spack/docker/centos-7.dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM centos:7 -MAINTAINER Spack Maintainers <maintainers@spack.io> - -ENV DOCKERFILE_BASE=centos \ - DOCKERFILE_DISTRO=centos \ - DOCKERFILE_DISTRO_VERSION=7 \ - SPACK_ROOT=/opt/spack \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -RUN yum update -y \ - && yum install -y epel-release \ - && yum update -y \ - && yum --enablerepo epel groupinstall -y "Development Tools" \ - && yum --enablerepo epel install -y \ - curl \ - findutils \ - gcc-c++ \ - gcc \ - gcc-gfortran \ - git \ - gnupg2 \ - hostname \ - iproute \ - make \ - patch \ - patchelf \ - python3 \ - python3-pip \ - python3-setuptools \ - tcl \ - unzip \ - which \ - && pip3 install boto3 \ - && rm -rf /var/cache/yum \ - && yum clean all - -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -RUN ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/docker-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/interactive-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/spack-env - -RUN mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* /run/nologin $SPACK_ROOT/.git - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \\&\\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["docker-shell"] - -# TODO: add a command to Spack that (re)creates the package cache -RUN spack bootstrap untrust spack-install -RUN spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["interactive-shell"] diff --git a/share/spack/docker/leap-15.dockerfile b/share/spack/docker/leap-15.dockerfile deleted file mode 100644 index 1bf41c6149..0000000000 --- a/share/spack/docker/leap-15.dockerfile +++ /dev/null @@ -1,72 +0,0 @@ -FROM opensuse/leap:15.3 -MAINTAINER Christian Goll <cgoll@suse.com> - -ENV DOCKERFILE_BASE=opensuse \ - DOCKERFILE_DISTRO=leap \ - DOCKERFILE_DISTRO_VERSION=15.3 \ - SPACK_ROOT=/opt/spack \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -RUN zypper ref && \ - zypper up -y && \ - zypper in -y \ - bzip2\ - curl\ - file\ - gcc-c++\ - gcc-fortran\ - make\ - gzip\ - patch\ - patchelf\ - python3-base \ - python3-boto3\ - tar\ - xz\ -&& zypper clean - -# clean up manpages -RUN rm -rf /var/cache/zypp/* \ - rm -rf /usr/share/doc/packages/* \ - rm -rf /usr/share/doc/manual/* - -# copy spack into container -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -RUN ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/docker-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/interactive-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/spack-env - -RUN mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* /run/nologin $SPACK_ROOT/.git - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \\&\\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["docker-shell"] - -# Disable bootstrapping from sources -RUN ${SPACK_ROOT}/bin/spack bootstrap untrust spack-install - -# TODO: add a command to Spack that (re)creates the package cache -RUN ${SPACK_ROOT}/bin/spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["interactive-shell"] diff --git a/share/spack/docker/modules.yaml b/share/spack/docker/modules.yaml index 02907ecc40..a620b3178f 100644 --- a/share/spack/docker/modules.yaml +++ b/share/spack/docker/modules.yaml @@ -1,6 +1,6 @@ modules: - enable: - - lmod - lmod: - core_compilers: + default: + enable: [] + lmod: + core_compilers: - gcc diff --git a/share/spack/docker/ubuntu-1604.dockerfile b/share/spack/docker/ubuntu-1604.dockerfile deleted file mode 100644 index f5662408ee..0000000000 --- a/share/spack/docker/ubuntu-1604.dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM ubuntu:16.04 -MAINTAINER Spack Maintainers <maintainers@spack.io> - -ENV DOCKERFILE_BASE=ubuntu:16.04 \ - DOCKERFILE_DISTRO=ubuntu \ - DOCKERFILE_DISTRO_VERSION=16.04 \ - SPACK_ROOT=/opt/spack \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -RUN apt-get -yqq update \ - && apt-get -yqq install --no-install-recommends \ - build-essential \ - ca-certificates \ - curl \ - file \ - g++ \ - gcc \ - gfortran \ - git \ - gnupg2 \ - iproute2 \ - locales \ - make \ - python3 \ - python3-pip \ - python3-setuptools \ - tcl \ - unzip \ - && locale-gen en_US.UTF-8 \ - && pip3 install boto3 \ - && rm -rf /var/lib/apt/lists/* - -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -RUN ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/docker-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/interactive-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/spack-env - -# Add LANG default to en_US.UTF-8 -ENV LANGUAGE en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LC_ALL en_US.UTF-8 - -RUN mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* /run/nologin $SPACK_ROOT/.git - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \&\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["docker-shell"] - -# TODO: add a command to Spack that (re)creates the package cache -RUN spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["interactive-shell"] diff --git a/share/spack/docker/ubuntu-1804.dockerfile b/share/spack/docker/ubuntu-1804.dockerfile deleted file mode 100644 index d491174e97..0000000000 --- a/share/spack/docker/ubuntu-1804.dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -FROM ubuntu:18.04 -MAINTAINER Spack Maintainers <maintainers@spack.io> - -ENV DOCKERFILE_BASE=ubuntu \ - DOCKERFILE_DISTRO=ubuntu \ - DOCKERFILE_DISTRO_VERSION=18.04 \ - SPACK_ROOT=/opt/spack \ - DEBIAN_FRONTEND=noninteractive \ - CURRENTLY_BUILDING_DOCKER_IMAGE=1 \ - container=docker - -RUN apt-get -yqq update \ - && apt-get -yqq install --no-install-recommends \ - build-essential \ - ca-certificates \ - curl \ - file \ - g++ \ - gcc \ - gfortran \ - git \ - gnupg2 \ - iproute2 \ - locales \ - make \ - python3 \ - python3-pip \ - python3-setuptools \ - tcl \ - unzip \ - && locale-gen en_US.UTF-8 \ - && pip3 install boto3 \ - && rm -rf /var/lib/apt/lists/* - -COPY bin $SPACK_ROOT/bin -COPY etc $SPACK_ROOT/etc -COPY lib $SPACK_ROOT/lib -COPY share $SPACK_ROOT/share -COPY var $SPACK_ROOT/var -RUN mkdir -p $SPACK_ROOT/opt/spack - -RUN ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/docker-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/interactive-shell \ - && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash \ - /usr/local/bin/spack-env - -# Add LANG default to en_US.UTF-8 -ENV LANGUAGE en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LC_ALL en_US.UTF-8 - -RUN mkdir -p /root/.spack \ - && cp $SPACK_ROOT/share/spack/docker/modules.yaml \ - /root/.spack/modules.yaml \ - && rm -rf /root/*.* /run/nologin $SPACK_ROOT/.git - -# [WORKAROUND] -# https://superuser.com/questions/1241548/ -# xubuntu-16-04-ttyname-failed-inappropriate-ioctl-for-device#1253889 -RUN [ -f ~/.profile ] \ - && sed -i 's/mesg n/( tty -s \&\& mesg n || true )/g' ~/.profile \ - || true - -WORKDIR /root -SHELL ["docker-shell"] - -# TODO: add a command to Spack that (re)creates the package cache -RUN spack spec hdf5+mpi - -ENTRYPOINT ["/bin/bash", "/opt/spack/share/spack/docker/entrypoint.bash"] -CMD ["interactive-shell"] diff --git a/share/spack/templates/container/amazonlinux_2.dockerfile b/share/spack/templates/container/amazonlinux_2.dockerfile index 5ab05562c0..c5b69e317d 100644 --- a/share/spack/templates/container/amazonlinux_2.dockerfile +++ b/share/spack/templates/container/amazonlinux_2.dockerfile @@ -14,11 +14,11 @@ RUN yum update -y \ iproute \ make \ patch \ - python \ - python-pip \ - python-setuptools \ + python3 \ + python3-pip \ + python3-setuptools \ unzip \ - && pip install boto3 \ + && pip3 install boto3 \ && rm -rf /var/cache/yum \ && yum clean all {% endblock %} diff --git a/share/spack/templates/container/centos_7.dockerfile b/share/spack/templates/container/centos_7.dockerfile index 6ce2181298..d4401c5413 100644 --- a/share/spack/templates/container/centos_7.dockerfile +++ b/share/spack/templates/container/centos_7.dockerfile @@ -16,11 +16,11 @@ RUN yum update -y \ iproute \ make \ patch \ - python \ - python-pip \ - python-setuptools \ + python3 \ + python3-pip \ + python3-setuptools \ unzip \ - && pip install boto3 \ + && pip3 install boto3 \ && rm -rf /var/cache/yum \ && yum clean all {% endblock %} diff --git a/share/spack/templates/container/centos_8.dockerfile b/share/spack/templates/container/centos_stream.dockerfile index 48deb14673..48deb14673 100644 --- a/share/spack/templates/container/centos_8.dockerfile +++ b/share/spack/templates/container/centos_stream.dockerfile diff --git a/share/spack/templates/container/ubuntu_1604.dockerfile b/share/spack/templates/container/ubuntu_1604.dockerfile deleted file mode 100644 index 95864e6bed..0000000000 --- a/share/spack/templates/container/ubuntu_1604.dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "container/bootstrap-base.dockerfile" %} -{% block env_vars %} -{{ super() }} -ENV DEBIAN_FRONTEND=noninteractive \ - LANGUAGE=en_US.UTF-8 \ - LANG=en_US.UTF-8 \ - LC_ALL=en_US.UTF-8 -{% endblock %} -{% block install_os_packages %} -RUN apt-get -yqq update \ - && apt-get -yqq install --no-install-recommends \ - build-essential \ - ca-certificates \ - curl \ - file \ - g++ \ - gcc \ - gfortran \ - git \ - gnupg2 \ - iproute2 \ - locales \ - lua-posix \ - make \ - python3 \ - python3-pip \ - python3-setuptools \ - unzip \ - && locale-gen en_US.UTF-8 \ - && pip3 install boto3 \ - && rm -rf /var/lib/apt/lists/* -{% endblock %} diff --git a/share/spack/templates/container/ubuntu_1804.dockerfile b/share/spack/templates/container/ubuntu_1804.dockerfile index 47af990d6a..9c0cea3c2a 100644..120000 --- a/share/spack/templates/container/ubuntu_1804.dockerfile +++ b/share/spack/templates/container/ubuntu_1804.dockerfile @@ -1,6 +1 @@ -{% extends "container/ubuntu_1604.dockerfile" %} -{% block post_checkout %} -# [WORKAROUND] -# https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082 -RUN ln -s posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so -{% endblock %} +ubuntu_2004.dockerfile
\ No newline at end of file diff --git a/share/spack/templates/container/ubuntu_2004.dockerfile b/share/spack/templates/container/ubuntu_2004.dockerfile index 106119ce68..26b6562952 120000..100644 --- a/share/spack/templates/container/ubuntu_2004.dockerfile +++ b/share/spack/templates/container/ubuntu_2004.dockerfile @@ -1 +1,32 @@ -ubuntu_1604.dockerfile
\ No newline at end of file +{% extends "container/bootstrap-base.dockerfile" %} +{% block env_vars %} +{{ super() }} +ENV DEBIAN_FRONTEND=noninteractive \ + LANGUAGE=en_US.UTF-8 \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 +{% endblock %} +{% block install_os_packages %} +RUN apt-get -yqq update \ + && apt-get -yqq upgrade \ + && apt-get -yqq install --no-install-recommends \ + build-essential \ + ca-certificates \ + curl \ + file \ + g++ \ + gcc \ + gfortran \ + git \ + gnupg2 \ + iproute2 \ + locales \ + make \ + python3 \ + python3-pip \ + python3-setuptools \ + unzip \ + && locale-gen en_US.UTF-8 \ + && pip3 install boto3 \ + && rm -rf /var/lib/apt/lists/* +{% endblock %} diff --git a/share/spack/templates/container/ubuntu_2204.dockerfile b/share/spack/templates/container/ubuntu_2204.dockerfile new file mode 120000 index 0000000000..9c0cea3c2a --- /dev/null +++ b/share/spack/templates/container/ubuntu_2204.dockerfile @@ -0,0 +1 @@ +ubuntu_2004.dockerfile
\ No newline at end of file |