summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build-containers.yml8
-rw-r--r--lib/spack/spack/container/images.json84
-rw-r--r--share/spack/templates/container/almalinux_8.dockerfile28
-rw-r--r--share/spack/templates/container/almalinux_9.dockerfile30
-rw-r--r--share/spack/templates/container/fedora_37.dockerfile29
-rw-r--r--share/spack/templates/container/fedora_38.dockerfile29
-rw-r--r--share/spack/templates/container/rockylinux_8.dockerfile29
-rw-r--r--share/spack/templates/container/rockylinux_9.dockerfile31
8 files changed, 267 insertions, 1 deletions
diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml
index 60ade618b9..0e8f4144b8 100644
--- a/.github/workflows/build-containers.yml
+++ b/.github/workflows/build-containers.yml
@@ -45,7 +45,13 @@ jobs:
[leap15, 'linux/amd64,linux/arm64,linux/ppc64le', 'opensuse/leap:15'],
[ubuntu-bionic, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:18.04'],
[ubuntu-focal, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:20.04'],
- [ubuntu-jammy, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:22.04']]
+ [ubuntu-jammy, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:22.04'],
+ [almalinux8, 'linux/amd64,linux/arm64,linux/ppc64le', 'almalinux:8'],
+ [almalinux9, 'linux/amd64,linux/arm64,linux/ppc64le', 'almalinux:9'],
+ [rockylinux8, 'linux/amd64,linux/arm64', 'rockylinux:8'],
+ [rockylinux9, 'linux/amd64,linux/arm64,linux/ppc64le', 'rockylinux:9'],
+ [fedora37, 'linux/amd64,linux/arm64,linux/ppc64le', 'fedora:37'],
+ [fedora38, 'linux/amd64,linux/arm64,linux/ppc64le', 'fedora:38']]
name: Build ${{ matrix.dockerfile[0] }}
if: github.repository == 'spack/spack'
steps:
diff --git a/lib/spack/spack/container/images.json b/lib/spack/spack/container/images.json
index 1429864f6d..296658fe5e 100644
--- a/lib/spack/spack/container/images.json
+++ b/lib/spack/spack/container/images.json
@@ -12,6 +12,90 @@
},
"os_package_manager": "yum_amazon"
},
+ "fedora:38": {
+ "bootstrap": {
+ "template": "container/fedora_38.dockerfile",
+ "image": "docker.io/fedora:38"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/fedora38",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "docker.io/fedora:38"
+ }
+ },
+ "fedora:37": {
+ "bootstrap": {
+ "template": "container/fedora_37.dockerfile",
+ "image": "docker.io/fedora:37"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/fedora37",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "docker.io/fedora:37"
+ }
+ },
+ "rockylinux:9": {
+ "bootstrap": {
+ "template": "container/rockylinux_9.dockerfile",
+ "image": "docker.io/rockylinux:9"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/rockylinux9",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "docker.io/rockylinux:9"
+ }
+ },
+ "rockylinux:8": {
+ "bootstrap": {
+ "template": "container/rockylinux_8.dockerfile",
+ "image": "docker.io/rockylinux:8"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/rockylinux8",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "docker.io/rockylinux:8"
+ }
+ },
+ "almalinux:9": {
+ "bootstrap": {
+ "template": "container/almalinux_9.dockerfile",
+ "image": "quay.io/almalinux/almalinux:9"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/almalinux9",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "quay.io/almalinux/almalinux:9"
+ }
+ },
+ "almalinux:8": {
+ "bootstrap": {
+ "template": "container/almalinux_8.dockerfile",
+ "image": "quay.io/almalinux/almalinux:8"
+ },
+ "os_package_manager": "yum",
+ "build": "spack/almalinux8",
+ "build_tags": {
+ "develop": "latest"
+ },
+ "final": {
+ "image": "quay.io/almalinux/almalinux:8"
+ }
+ },
"centos:stream": {
"bootstrap": {
"template": "container/centos_stream.dockerfile",
diff --git a/share/spack/templates/container/almalinux_8.dockerfile b/share/spack/templates/container/almalinux_8.dockerfile
new file mode 100644
index 0000000000..13009d2796
--- /dev/null
+++ b/share/spack/templates/container/almalinux_8.dockerfile
@@ -0,0 +1,28 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y \
+ bzip2 \
+ curl \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ zstd \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}
diff --git a/share/spack/templates/container/almalinux_9.dockerfile b/share/spack/templates/container/almalinux_9.dockerfile
new file mode 100644
index 0000000000..a8944532e0
--- /dev/null
+++ b/share/spack/templates/container/almalinux_9.dockerfile
@@ -0,0 +1,30 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y epel-release \
+ && yum update -y \
+ && yum --enablerepo epel install -y \
+ bzip2 \
+ curl-minimal \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ zstd \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}
diff --git a/share/spack/templates/container/fedora_37.dockerfile b/share/spack/templates/container/fedora_37.dockerfile
new file mode 100644
index 0000000000..e1f0570b43
--- /dev/null
+++ b/share/spack/templates/container/fedora_37.dockerfile
@@ -0,0 +1,29 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y \
+ bzip2 \
+ curl \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ zstd \
+ xz \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}
diff --git a/share/spack/templates/container/fedora_38.dockerfile b/share/spack/templates/container/fedora_38.dockerfile
new file mode 100644
index 0000000000..a691da9444
--- /dev/null
+++ b/share/spack/templates/container/fedora_38.dockerfile
@@ -0,0 +1,29 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y \
+ bzip2 \
+ curl \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ xz \
+ zstd \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}
diff --git a/share/spack/templates/container/rockylinux_8.dockerfile b/share/spack/templates/container/rockylinux_8.dockerfile
new file mode 100644
index 0000000000..a691da9444
--- /dev/null
+++ b/share/spack/templates/container/rockylinux_8.dockerfile
@@ -0,0 +1,29 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y \
+ bzip2 \
+ curl \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ xz \
+ zstd \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}
diff --git a/share/spack/templates/container/rockylinux_9.dockerfile b/share/spack/templates/container/rockylinux_9.dockerfile
new file mode 100644
index 0000000000..54c2200cbb
--- /dev/null
+++ b/share/spack/templates/container/rockylinux_9.dockerfile
@@ -0,0 +1,31 @@
+{% extends "container/bootstrap-base.dockerfile" %}
+{% block install_os_packages %}
+RUN yum update -y \
+ && yum install -y epel-release \
+ && yum update -y \
+ && yum --enablerepo epel install -y \
+ bzip2 \
+ curl-minimal \
+ file \
+ findutils \
+ gcc-c++ \
+ gcc \
+ gcc-gfortran \
+ git \
+ gnupg2 \
+ hg \
+ hostname \
+ iproute \
+ make \
+ patch \
+ python3 \
+ python3-pip \
+ python3-setuptools \
+ svn \
+ unzip \
+ xz \
+ zstd \
+ && pip3 install boto3 \
+ && rm -rf /var/cache/yum \
+ && yum clean all
+{% endblock %}