summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2022-04-22 08:51:26 +0200
committerGitHub <noreply@github.com>2022-04-22 08:51:26 +0200
commitf961a11187a514dab4fb4a615544d480ab6b39c2 (patch)
tree64562edf92a0542e98168f242e4b033cf9af1e8e /share
parentb00983439fc3f11365664853d80cb7f497fd88a6 (diff)
downloadspack-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.dockerfile69
-rw-r--r--share/spack/docker/centos-7.dockerfile73
-rw-r--r--share/spack/docker/leap-15.dockerfile72
-rw-r--r--share/spack/docker/modules.yaml8
-rw-r--r--share/spack/docker/ubuntu-1604.dockerfile73
-rw-r--r--share/spack/docker/ubuntu-1804.dockerfile73
-rw-r--r--share/spack/templates/container/amazonlinux_2.dockerfile8
-rw-r--r--share/spack/templates/container/centos_7.dockerfile8
-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.dockerfile32
l---------[-rw-r--r--]share/spack/templates/container/ubuntu_1804.dockerfile7
-rw-r--r--[l---------]share/spack/templates/container/ubuntu_2004.dockerfile33
l---------share/spack/templates/container/ubuntu_2204.dockerfile1
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