diff --git a/README.md b/README.md index 19c8efbd3..0d4e3811e 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ Dockerfiles and build scripts for generating Docker Images based on various Adop * Supported Linux OSes -| Alpine | centos | clefos | debian | debianslim | leap | tumbleweed | ubi | ubi-minimal | ubuntu(*) | -|:------:|:------:|:------:|:------:|:------------:|:----:|:----------:|:---:|:-----------:|:------:| -| 3.14 | 7 | 7 | buster | buster-slim | 15.3 | latest | 8.4 | 8.4 | 20.04 | +| AlmaLinux | Alma-mini | Alpine | centos | clefos | debian | debianslim | leap | tumbleweed | ubi | ubi-minimal | ubuntu(*) | +|:---------:|:---------:|:------:|:------:|:------:|:------:|:------------:|:----:|:----------:|:---:|:-----------:|:------:| +| 8.4 | 8.4 | 3.14 | 7 | 7 | buster | buster-slim | 15.3 | latest | 8.4 | 8.4 | 20.04 | Note: Hotspot is not supported on Ubuntu 20.04 for s390x arch. @@ -34,6 +34,8 @@ AdoptOpenJDK Docker Images are available as both Official Images (Maintained by - Windows Server Core (ltsc2016 and 1809): Release * [Unofficial Images](https://hub.docker.com/u/adoptopenjdk) are maintained by AdoptOpenJDK and updated on a nightly basis. Supported OSes and their versions and type of images are as below. - Linux + - AlmaLinux (8.4): Release, Nightly and Slim + - AlmaLinux-Minimal (8.4): Release and Nightly - Alpine (3.14): Release, Nightly and Slim - CentOS (7): Release, Nightly and Slim - ClefOS (7): Release, Nightly and Slim diff --git a/common_functions.sh b/common_functions.sh index 2dcef8869..1e15cec5a 100755 --- a/common_functions.sh +++ b/common_functions.sh @@ -109,7 +109,7 @@ function set_arch_os() { ;; aarch64) current_arch="aarch64" - oses="centos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" + oses="alma alma-minimal centos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" os_family="linux" ;; ppc64el|ppc64le) @@ -145,7 +145,7 @@ function set_arch_os() { # shellcheck disable=SC2034 # used externally current_arch="x86_64" # shellcheck disable=SC2034 # used externally - oses="alpine centos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" + oses="alma alma-minimal alpine centos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" # alpine-linux (musl libc) based builds are only available on x86_64 currently # shellcheck disable=SC2034 # used externally os_family="alpine-linux linux" diff --git a/config/hotspot.config b/config/hotspot.config index 37cec92b3..7b3b659fe 100644 --- a/config/hotspot.config +++ b/config/hotspot.config @@ -12,7 +12,7 @@ # limitations under the License. # -OS: alpine debian debianslim ubi ubi-minimal centos clefos ubuntu leap tumbleweed windowsservercore-1809 windowsservercore-ltsc2016 nanoserver-1809 windowsservercore-1909 windowsservercore-ltsc2019 nanoserver-1909 windowsservercore-20h2 nanoserver-20h2 +OS: alma alma-minimal alpine debian debianslim ubi ubi-minimal centos clefos ubuntu leap tumbleweed windowsservercore-1809 windowsservercore-ltsc2016 nanoserver-1809 windowsservercore-1909 windowsservercore-ltsc2019 nanoserver-1909 windowsservercore-20h2 nanoserver-20h2 Versions: 8 11 15 16 Build: releases nightly @@ -45,6 +45,18 @@ Architectures: aarch64 armv7l x86_64 ppc64le OS_Family: linux Directory: 8/jdk/centos +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 8/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 8/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: s390x @@ -147,6 +159,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 8/jre/ubi +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 8/jre/alma + +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 8/jre/alma-minimal + Build: releases nightly Type: full Architectures: aarch64 armv7l x86_64 ppc64le @@ -255,6 +279,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 11/jdk/ubi +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 11/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 11/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: aarch64 armv7l x86_64 ppc64le @@ -371,6 +407,18 @@ Directory: 11/jre/ubi-minimal Build: releases nightly Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 11/jre/alma + +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 11/jre/alma-minimal + +uild: releases nightly +Type: full Architectures: aarch64 armv7l x86_64 ppc64le OS_Family: linux Directory: 11/jre/centos @@ -479,6 +527,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 15/jdk/ubi-minimal +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 15/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 15/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: aarch64 armv7l x86_64 ppc64le @@ -587,6 +647,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 15/jre/ubi-minimal +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 15/jre/alma + +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 15/jre/alma-minimal + Build: releases nightly Type: full Architectures: aarch64 armv7l x86_64 ppc64le @@ -697,6 +769,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 16/jdk/ubi-minimal +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 16/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 16/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: aarch64 armv7l x86_64 ppc64le @@ -805,6 +889,18 @@ Architectures: aarch64 x86_64 ppc64le s390x OS_Family: linux Directory: 16/jre/ubi-minimal +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 16/jre/alma + +Build: releases nightly +Type: full +Architectures: aarch64 x86_64 +OS_Family: linux +Directory: 16/jre/alma-minimal + Build: releases nightly Type: full Architectures: aarch64 armv7l x86_64 ppc64le diff --git a/config/openj9.config b/config/openj9.config index 1ffd811cd..4e41860ff 100644 --- a/config/openj9.config +++ b/config/openj9.config @@ -14,7 +14,7 @@ # The images referred in this file are built and maintained by AdoptOpenJDK # and pushed to the https://hub.docker.com/u/adoptopenjdk repo -OS: alpine debian debianslim ubi ubi-minimal centos clefos ubuntu leap tumbleweed windowsservercore-1809 windowsservercore-ltsc2016 nanoserver-1809 windowsservercore-1909 windowsservercore-ltsc2019 nanoserver-1909 windowsservercore-20h2 nanoserver-20h2 +OS: alma alma-minimal alpine debian debianslim ubi ubi-minimal centos clefos ubuntu leap tumbleweed windowsservercore-1809 windowsservercore-ltsc2016 nanoserver-1809 windowsservercore-1909 windowsservercore-ltsc2019 nanoserver-1909 windowsservercore-20h2 nanoserver-20h2 Versions: 8 11 15 16 Build: releases nightly @@ -41,6 +41,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 8/jdk/ubi +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 8/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 8/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: x86_64 ppc64le @@ -155,6 +167,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 8/jre/ubi-minimal +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 8/jre/alma + +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 8/jre/alma-minimal + Build: releases nightly Type: full Architectures: x86_64 ppc64le @@ -257,6 +281,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 11/jdk/ubi +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 11/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 11/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: x86_64 ppc64le @@ -481,6 +517,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 15/jdk/ubi-minimal +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 15/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 15/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: x86_64 ppc64le @@ -589,6 +637,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 15/jre/ubi-minimal +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 15/jre/alma + +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 15/jre/alma-minimal + Build: releases nightly Type: full Architectures: x86_64 ppc64le @@ -699,6 +759,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 16/jdk/ubi-minimal +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 16/jdk/alma + +Build: releases nightly +Type: full slim +Architectures: x86_64 +OS_Family: linux +Directory: 16/jdk/alma-minimal + Build: releases nightly Type: full slim Architectures: x86_64 ppc64le @@ -807,6 +879,18 @@ Architectures: x86_64 ppc64le s390x OS_Family: linux Directory: 16/jre/ubi-minimal +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 16/jre/alma + +Build: releases nightly +Type: full +Architectures: x86_64 +OS_Family: linux +Directory: 16/jre/alma-minimal + Build: releases nightly Type: full Architectures: x86_64 ppc64le diff --git a/config/tags.config b/config/tags.config index 33cabe3d0..39d9202b5 100644 --- a/config/tags.config +++ b/config/tags.config @@ -48,6 +48,16 @@ ubi-minimal-jdk-releases-slim-tags: ubi-minimal-slim {{ JDK_RELEASES_VER }}-ubi- ubi-minimal-jdk-nightly-full-tags: ubi-minimal-nightly {{ JDK_NIGHTLY_VER }}-ubi-minimal-nightly {{ ARCH }}-ubi-minimal-{{ JDK_NIGHTLY_VER }}-nightly ubi-minimal-jdk-nightly-slim-tags: ubi-minimal-nightly-slim {{ JDK_NIGHTLY_VER }}-ubi-minimal-nightly-slim {{ ARCH }}-ubi-minimal-{{ JDK_NIGHTLY_VER }}-nightly-slim +alma-jdk-releases-full-tags: alma {{ JDK_RELEASES_VER }}-alma {{ ARCH }}-alma-{{ JDK_RELEASES_VER }} +alma-jdk-releases-slim-tags: alma-slim {{ JDK_RELEASES_VER }}-alma-slim {{ ARCH }}-alma-{{ JDK_RELEASES_VER }}-slim +alma-jdk-nightly-full-tags: alma-nightly {{ JDK_NIGHTLY_VER }}-alma-nightly {{ ARCH }}-alma-{{ JDK_NIGHTLY_VER }}-nightly +alma-jdk-nightly-slim-tags: alma-nightly-slim {{ JDK_NIGHTLY_VER }}-alma-nightly-slim {{ ARCH }}-alma-{{ JDK_NIGHTLY_VER }}-nightly-slim + +alma-minimal-jdk-releases-full-tags: alma-minimal {{ JDK_RELEASES_VER }}-alma-minimal {{ ARCH }}-alma-minimal-{{ JDK_RELEASES_VER }} +alma-minimal-jdk-releases-slim-tags: alma-minimal-slim {{ JDK_RELEASES_VER }}-alma-minimal-slim {{ ARCH }}-alma-minimal-{{ JDK_RELEASES_VER }}-slim +alma-minimal-jdk-nightly-full-tags: alma-minimal-nightly {{ JDK_NIGHTLY_VER }}-alma-minimal-nightly {{ ARCH }}-alma-minimal-{{ JDK_NIGHTLY_VER }}-nightly +alma-minimal-jdk-nightly-slim-tags: alma-minimal-nightly-slim {{ JDK_NIGHTLY_VER }}-alma-minimal-nightly-slim {{ ARCH }}-alma-minimal-{{ JDK_NIGHTLY_VER }}-nightly-slim + centos-jdk-releases-full-tags: centos {{ JDK_RELEASES_VER }}-centos {{ ARCH }}-centos-{{ JDK_RELEASES_VER }} centos-jdk-releases-slim-tags: centos-slim {{ JDK_RELEASES_VER }}-centos-slim {{ ARCH }}-centos-{{ JDK_RELEASES_VER }}-slim centos-jdk-nightly-full-tags: centos-nightly {{ JDK_NIGHTLY_VER }}-centos-nightly {{ ARCH }}-centos-{{ JDK_NIGHTLY_VER }}-nightly @@ -91,6 +101,12 @@ ubi-jre-nightly-full-tags: ubi-jre-nightly {{ JDK_NIGHTLY_VER }}-ubi-nightly {{ ubi-minimal-jre-releases-full-tags: ubi-minimal-jre {{ JDK_RELEASES_VER }}-ubi-minimal {{ ARCH }}-ubi-minimal-{{ JDK_RELEASES_VER }} ubi-minimal-jre-nightly-full-tags: ubi-minimal-jre-nightly {{ JDK_NIGHTLY_VER }}-ubi-minimal-nightly {{ ARCH }}-ubi-minimal-{{ JDK_NIGHTLY_VER }}-nightly +alma-jre-releases-full-tags: alma-jre {{ JDK_RELEASES_VER }}-alma {{ ARCH }}-alma-{{ JDK_RELEASES_VER }} +alma-jre-nightly-full-tags: alma-jre-nightly {{ JDK_NIGHTLY_VER }}-alma-nightly {{ ARCH }}-alma-{{ JDK_NIGHTLY_VER }}-nightly + +alma-minimal-jre-releases-full-tags: alma-minimal-jre {{ JDK_RELEASES_VER }}-alma-minimal {{ ARCH }}-alma-minimal-{{ JDK_RELEASES_VER }} +alma-minimal-jre-nightly-full-tags: alma-minimal-jre-nightly {{ JDK_NIGHTLY_VER }}-alma-minimal-nightly {{ ARCH }}-alma-minimal-{{ JDK_NIGHTLY_VER }}-nightly + centos-jre-releases-full-tags: centos-jre {{ JDK_RELEASES_VER }}-centos {{ ARCH }}-centos-{{ JDK_RELEASES_VER }} centos-jre-nightly-full-tags: centos-jre-nightly {{ JDK_NIGHTLY_VER }}-centos-nightly {{ ARCH }}-centos-{{ JDK_NIGHTLY_VER }}-nightly diff --git a/dockerfile_functions.sh b/dockerfile_functions.sh index a43f173a3..be6dd97ff 100755 --- a/dockerfile_functions.sh +++ b/dockerfile_functions.sh @@ -91,6 +91,24 @@ print_ubi-minimal_ver() { EOI } +print_alma_ver() { + os_version="8.4" + + cat >> "$1" <<-EOI + FROM almalinux:${os_version} + + EOI +} + +print_alma-minimal_ver() { + os_version="8.4-minimal" + + cat >> "$1" <<-EOI + FROM almalinux:${os_version} + + EOI +} + print_centos_ver() { os_version="7" @@ -275,6 +293,16 @@ RUN microdnf install -y tzdata openssl curl ca-certificates fontconfig glibc-lan EOI } +# Select the alma packages. +print_alma_pkg() { + print_ubi_pkg "$1" +} + +# Select the alma-minimal packages. +print_alma-minimal_pkg() { + print_ubi-minimal_pkg "$1" +} + # Select the CentOS packages. print_centos_pkg() { cat >> "$1" <<'EOI' @@ -313,7 +341,7 @@ print_env() { eval jver=\${$jverinfo} jver="${jver}" # to satifsy shellcheck SC2154 # Print additional label for UBI alone - if [ "${os}" == "ubi-minimal" ] || [ "${os}" == "ubi" ]; then + if [ "${os}" == "alma-minimal" ] || [ "${os}" == "alma" ] || [ "${os}" == "ubi-minimal" ] || [ "${os}" == "ubi" ]; then cat >> "$1" <<-EOI LABEL name="AdoptOpenJDK Java" \\ @@ -693,9 +721,9 @@ RUN set -eux; \\ EOI print_java_install_pre "${file}" "${pkg}" "${bld}" "${btype}" "${osfamily}" "${os}" if [ "${btype}" == "slim" ]; then - if [ "${os}" == "ubi" ]; then + if [ "${os}" == "alma" ] || [ "${os}" == "ubi" ]; then print_ubi_slim_package "$1" - elif [ "${os}" == "ubi-minimal" ]; then + elif [ "${os}" == "alma-minimal" ] || [ "${os}" == "ubi-minimal" ]; then print_ubi-minimal_slim_package "$1" fi fi @@ -707,6 +735,16 @@ print_ubi-minimal_java_install() { print_ubi_java_install "$1" "$2" "$3" "$4" "$5" "$6" } +# Print the main RUN command that installs Java on alma +print_alma_java_install() { + print_ubi_java_install "$1" "$2" "$3" "$4" "$5" "$6" +} + +# Print the main RUN command that installs Java on alma-minimal +print_alma-minimal_java_install() { + print_ubi_java_install "$1" "$2" "$3" "$4" "$5" "$6" +} + # Print the main RUN command that installs Java on CentOS print_centos_java_install() { local pkg=$2 diff --git a/dockerhub_doc_config_update.sh b/dockerhub_doc_config_update.sh index 1b5a0d551..b77e3f1db 100755 --- a/dockerhub_doc_config_update.sh +++ b/dockerhub_doc_config_update.sh @@ -26,7 +26,7 @@ set -o pipefail source ./common_functions.sh official_docker_image_file="adoptopenjdk" -oses="alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" +oses="alma alma-minimal alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" # shellcheck disable=SC2034 # used externally hotspot_latest_tags="hotspot, latest" @@ -271,7 +271,7 @@ rm -f ${official_docker_image_file} print_official_header # Currently we are not pushing official docker images for Alpine, Debian -official_os_ignore_array=(alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal) +official_os_ignore_array=(alma alma-minimal alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal) # Generate config and doc info only for "supported" official builds. function generate_official_image_info() { diff --git a/generate_manifest_script.sh b/generate_manifest_script.sh index 6c8a51649..359577e21 100755 --- a/generate_manifest_script.sh +++ b/generate_manifest_script.sh @@ -110,7 +110,7 @@ function print_tags() { check_manifest_tool # Set the OSes that we will be generating manifests for -oses="alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" +oses="alma alma-minimal alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu" # Which JVMs are available for the current version ./generate_latest_sums.sh "${version}" diff --git a/manifest_process.md b/manifest_process.md index 18e3e3684..72650cc2f 100644 --- a/manifest_process.md +++ b/manifest_process.md @@ -58,7 +58,7 @@ we create the manifest commands for each `os`, `build` (Release or Nightly) and - We set the list of operating systems we generate the manifest for -`oses="alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu"` +`oses="alma alma-minimal alpine centos clefos debian debianslim leap tumbleweed ubi ubi-minimal ubuntu"` - We now check which jvms are available for the given version by calling the `generate_latest_sums.sh` script so if the respective shasums file is generated for the version and vm combination then we add that to the `available_jvms` diff --git a/tests/scanner/README.md b/tests/scanner/README.md index 0ca53a994..cf86694b6 100644 --- a/tests/scanner/README.md +++ b/tests/scanner/README.md @@ -82,7 +82,7 @@ There are a couple of image options to limit your set of images that you will be - `--versions` - Sets the Java versions. The default is all of the active(LTS and current) Java versions. At this time they would be `8`, `11` and `14`. - `--jvms` - Sets the JVMs. The default are both `openj9` and `hotspot` -- `--oss` - Sets the OSs. The defaults are `alpine`, `debian`, `debianslim`, `ubi`, `ubi-minimal`, `centos`, `clefos`, and `ubuntu`. +- `--oss` - Sets the OSs. The defaults are `alpine`, `debian`, `debianslim`, `ubi`, `ubi-minimal`, `centos`, `alma`, `alma-minimal`, `clefos`, and `ubuntu`. - `--packages` - Sets the packages. The defaults are both `jdk` and `jre`. - `--archs` - Sets the architectures. The default are all the architectures AdoptOpenJDK builds for. That this time they would be `armv7l`, `aarch64`, `ppc64le`, `s390x`, and `x86_64`. - `--builds` - Sets the builds. The default are both `slim` and `full`. diff --git a/tests/scanner/scanner.py b/tests/scanner/scanner.py index d3dc4aa54..322bb24c1 100755 --- a/tests/scanner/scanner.py +++ b/tests/scanner/scanner.py @@ -860,8 +860,8 @@ def get_args(): help="Names of the OSs", nargs='+', type=str, - choices=["alpine", "debian", "debianslim", "ubi", "ubi-minimal", "centos", "clefos", "ubuntu"], - default=["alpine", "debian", "debianslim", "ubi", "ubi-minimal", "centos", "clefos", "ubuntu"]) + choices=["alpine", "debian", "debianslim", "ubi", "ubi-minimal", "centos", "clefos", "ubuntu", "alma", "alma-minimal" ], + default=["alpine", "debian", "debianslim", "ubi", "ubi-minimal", "centos", "clefos", "ubuntu", "alma", "alma-minimal" ]) parser.add_argument("--packages", help="Names of the Packages", nargs='+',