diff --git a/.github/workflows/verify-images.yml b/.github/workflows/verify-images.yml index 6995e3e..9745037 100644 --- a/.github/workflows/verify-images.yml +++ b/.github/workflows/verify-images.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ 8, 11, 17, 20, 21 ] + version: [ 8, 11, 17, 21 ] package: [ jdk ] platform: [ al2-generic, debian ] steps: @@ -24,7 +24,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ 17, 20, 21 ] + version: [ 17, 21 ] package: [ slim ] platform: [ al2, alpine, debian ] steps: @@ -69,7 +69,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ 20 ] + version: [ 21 ] package: [ jdk ] platform: [ al2023-generic ] steps: @@ -84,7 +84,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ 8, 11, 17, 20, 21 ] + version: [ 8, 11, 17, 21 ] os_version: ["3.15", "3.16", "3.17", "3.18"] steps: - name: Checkout code diff --git a/20/jdk/al2-generic/Dockerfile b/20/jdk/al2-generic/Dockerfile deleted file mode 100644 index 68455d8..0000000 --- a/20/jdk/al2-generic/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM amazonlinux:2 - -ARG version=20.0.2.10-1 -# In addition to installing the Amazon corretto, we also install -# fontconfig. The folks who manage the docker hub's -# official image library have found that font management -# is a common usecase, and painpoint, and have -# recommended that Java images include font support. -# -# See: -# https://github.com/docker-library/official-images/blob/master/test/tests/java-uimanager-font/container.java - -# The logic and code related to Fingerprint is contributed by @tianon in a Github PR's Conversation -# Comment = https://github.com/docker-library/official-images/pull/7459#issuecomment-592242757 -# PR = https://github.com/docker-library/official-images/pull/7459 -RUN set -eux \ - && export GNUPGHOME="$(mktemp -d)" \ - && curl -fL -o corretto.key https://yum.corretto.aws/corretto.key \ - && gpg --batch --import corretto.key \ - && gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key \ - && rpm --import corretto.key \ - && rm -r "$GNUPGHOME" corretto.key \ - && curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \ - && grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo \ - && echo "priority=9" >> /etc/yum.repos.d/corretto.repo \ - && yum install -y java-20-amazon-corretto-devel-$version \ - && (find /usr/lib/jvm/java-20-amazon-corretto -name src.zip -delete || true) \ - && yum install -y fontconfig \ - && yum clean all - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/java-20-amazon-corretto diff --git a/20/jdk/al2023-generic/Dockerfile b/20/jdk/al2023-generic/Dockerfile deleted file mode 100644 index 38aa551..0000000 --- a/20/jdk/al2023-generic/Dockerfile +++ /dev/null @@ -1,30 +0,0 @@ -FROM amazonlinux:2023 - -ARG version=20.0.2.10-1 -# In addition to installing the Amazon corretto, we also install -# libs that are needed for jdk to be functional - -# The logic and code related to Fingerprint is contributed by @tianon in a Github PR's Conversation -# Comment = https://github.com/docker-library/official-images/pull/7459#issuecomment-592242757 -# PR = https://github.com/docker-library/official-images/pull/7459 -RUN set -eux \ - && export GNUPGHOME="$(mktemp -d)" \ - && curl -fL -o corretto.key https://yum.corretto.aws/corretto.key \ - && dnf install gnupg2 -y --allowerasing \ - && dnf install findutils -y \ - && gpg --batch --import corretto.key \ - && gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key \ - && rpm --import corretto.key \ - && rm -r "$GNUPGHOME" corretto.key \ - && curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \ - && grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo \ - && echo "priority=9" >> /etc/yum.repos.d/corretto.repo \ - && dnf install -y java-20-amazon-corretto-devel-$version \ - && (find /usr/lib/jvm/java-20-amazon-corretto -name src.zip -delete || true) \ - && dnf remove -y findutils \ - && dnf install -y fontconfig freetype libjpeg dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts libjpeg \ - && dnf clean all - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/java-20-amazon-corretto - diff --git a/20/jdk/debian/Dockerfile b/20/jdk/debian/Dockerfile deleted file mode 100644 index bb3af2d..0000000 --- a/20/jdk/debian/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM debian:buster-slim - -ARG version=20.0.2.10-1 -# In addition to installing the Amazon corretto, we also install -# fontconfig. The folks who manage the docker hub's -# official image library have found that font management -# is a common usecase, and painpoint, and have -# recommended that Java images include font support. -# -# See: -# https://github.com/docker-library/official-images/blob/master/test/tests/java-uimanager-font/container.java - -RUN set -eux \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ - curl ca-certificates gnupg software-properties-common fontconfig java-common \ - && curl -fL https://apt.corretto.aws/corretto.key | apt-key add - \ - && add-apt-repository 'deb https://apt.corretto.aws stable main' \ - && mkdir -p /usr/share/man/man1 || true \ - && apt-get update \ - && apt-get install -y java-20-amazon-corretto-jdk=1:$version \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - curl gnupg software-properties-common - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/java-20-amazon-corretto diff --git a/20/slim/al2/Dockerfile b/20/slim/al2/Dockerfile deleted file mode 100644 index 1e9af37..0000000 --- a/20/slim/al2/Dockerfile +++ /dev/null @@ -1,67 +0,0 @@ -FROM amazonlinux:2 - -ARG version=20.0.2.10-1 -# In addition to installing the Amazon corretto, we also install -# fontconfig. The folks who manage the docker hub's -# official image library have found that font management -# is a common usecase, and painpoint, and have -# recommended that Java images include font support. -# -# See: -# https://github.com/docker-library/official-images/blob/master/test/tests/java-uimanager-font/container.java - -# The logic and code related to Fingerprint is contributed by @tianon in a Github PR's Conversation -# Comment = https://github.com/docker-library/official-images/pull/7459#issuecomment-592242757 -# PR = https://github.com/docker-library/official-images/pull/7459 -# -# Slim: -# JLink is used (retaining all modules) to create a slimmer version of the JDK excluding man-pages, header files and debugging symbols - saving ~113MB. -RUN set -eux \ - && export GNUPGHOME="$(mktemp -d)" \ - && curl -fL -o corretto.key https://yum.corretto.aws/corretto.key \ - && gpg --batch --import corretto.key \ - && gpg --batch --export --armor '6DC3636DAE534049C8B94623A122542AB04F24E3' > corretto.key \ - && rpm --import corretto.key \ - && rm -r "$GNUPGHOME" corretto.key \ - && curl -fL -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \ - && grep -q '^gpgcheck=1' /etc/yum.repos.d/corretto.repo \ - && echo "priority=9" >> /etc/yum.repos.d/corretto.repo \ - && yum install -y java-20-amazon-corretto-devel-$version \ - && (find /usr/lib/jvm/java-20-amazon-corretto -name src.zip -delete || true) \ - && yum install -y fontconfig \ - && yum install -y binutils \ - && jlink --add-modules "$(java --list-modules | sed -e 's/@[0-9].*$/,/' | tr -d \\n)" --no-man-pages --no-header-files --strip-debug --output /opt/corretto-slim \ - && yum remove -y binutils java-20-amazon-corretto-devel-$version \ - && mkdir -p /usr/lib/jvm/ \ - && mv /opt/corretto-slim /usr/lib/jvm/java-20-amazon-corretto \ - && alternatives --install /usr/bin/java java /usr/lib/jvm/java-20-amazon-corretto/bin/java $(echo "1${version}" | sed "s/\(\.\|-\)//g") \ - --slave /usr/bin/keytool keytool /usr/lib/jvm/java-20-amazon-corretto/bin/keytool \ - --slave /usr/bin/rmid rmid /usr/lib/jvm/java-20-amazon-corretto/bin/rmid \ - --slave /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-20-amazon-corretto/bin/rmiregistry \ - && alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-20-amazon-corretto/bin/javac $(echo "1${version}" | sed "s/\(\.\|-\)//g") \ - --slave /usr/bin/jaotc jaotc /usr/lib/jvm/java-20-amazon-corretto/bin/jaotc \ - --slave /usr/bin/jlink jlink /usr/lib/jvm/java-20-amazon-corretto/bin/jlink \ - --slave /usr/bin/jmod jmod /usr/lib/jvm/java-20-amazon-corretto/bin/jmod \ - --slave /usr/bin/jhsdb jhsdb /usr/lib/jvm/java-20-amazon-corretto/bin/jhsdb \ - --slave /usr/bin/jar jar /usr/lib/jvm/java-20-amazon-corretto/bin/jar \ - --slave /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-20-amazon-corretto/bin/jarsigner \ - --slave /usr/bin/javadoc javadoc /usr/lib/jvm/java-20-amazon-corretto/bin/javadoc \ - --slave /usr/bin/javap javap /usr/lib/jvm/java-20-amazon-corretto/bin/javap \ - --slave /usr/bin/jcmd jcmd /usr/lib/jvm/java-20-amazon-corretto/bin/jcmd \ - --slave /usr/bin/jconsole jconsole /usr/lib/jvm/java-20-amazon-corretto/bin/jconsole \ - --slave /usr/bin/jdb jdb /usr/lib/jvm/java-20-amazon-corretto/bin/jdb \ - --slave /usr/bin/jdeps jdeps /usr/lib/jvm/java-20-amazon-corretto/bin/jdeps \ - --slave /usr/bin/jdeprscan jdeprscan /usr/lib/jvm/java-20-amazon-corretto/bin/jdeprscan \ - --slave /usr/bin/jimage jimage /usr/lib/jvm/java-20-amazon-corretto/bin/jimage \ - --slave /usr/bin/jinfo jinfo /usr/lib/jvm/java-20-amazon-corretto/bin/jinfo \ - --slave /usr/bin/jmap jmap /usr/lib/jvm/java-20-amazon-corretto/bin/jmap \ - --slave /usr/bin/jps jps /usr/lib/jvm/java-20-amazon-corretto/bin/jps \ - --slave /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-20-amazon-corretto/bin/jrunscript \ - --slave /usr/bin/jshell jshell /usr/lib/jvm/java-20-amazon-corretto/bin/jshell \ - --slave /usr/bin/jstack jstack /usr/lib/jvm/java-20-amazon-corretto/bin/jstack \ - --slave /usr/bin/jstat jstat /usr/lib/jvm/java-20-amazon-corretto/bin/jstat \ - --slave /usr/bin/jstatd jstatd /usr/lib/jvm/java-20-amazon-corretto/bin/jstatd \ - && yum clean all - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/java-20-amazon-corretto diff --git a/20/slim/alpine/Dockerfile b/20/slim/alpine/Dockerfile deleted file mode 100644 index 07f47e6..0000000 --- a/20/slim/alpine/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -FROM alpine:3.17 - -ARG version=20.0.2.10.1 - -# Please note that the THIRD-PARTY-LICENSE could be out of date if the base image has been updated recently. -# The Corretto team will update this file but you may see a few days' delay. -# -# Slim: -# JLink is used (retaining all modules) to create a slimmer version of the JDK excluding man-pages, header files and debugging symbols - saving ~113MB. -RUN wget -O /THIRD-PARTY-LICENSES-20200824.tar.gz https://corretto.aws/downloads/resources/licenses/alpine/THIRD-PARTY-LICENSES-20200824.tar.gz && \ - echo "82f3e50e71b2aee21321b2b33de372feed5befad6ef2196ddec92311bc09becb /THIRD-PARTY-LICENSES-20200824.tar.gz" | sha256sum -c - && \ - tar x -ovzf THIRD-PARTY-LICENSES-20200824.tar.gz && \ - rm -rf THIRD-PARTY-LICENSES-20200824.tar.gz && \ - wget -O /etc/apk/keys/amazoncorretto.rsa.pub https://apk.corretto.aws/amazoncorretto.rsa.pub && \ - SHA_SUM="6cfdf08be09f32ca298e2d5bd4a359ee2b275765c09b56d514624bf831eafb91" && \ - echo "${SHA_SUM} /etc/apk/keys/amazoncorretto.rsa.pub" | sha256sum -c - && \ - echo "https://apk.corretto.aws" >> /etc/apk/repositories && \ - apk add --no-cache amazon-corretto-20=$version-r0 binutils && \ - /usr/lib/jvm/default-jvm/bin/jlink --add-modules "$(java --list-modules | sed -e 's/@[0-9].*$/,/' | tr -d \\n)" --no-man-pages --no-header-files --strip-debug --output /opt/corretto-slim && \ - apk del binutils amazon-corretto-20 && \ - mkdir -p /usr/lib/jvm/ && \ - mv /opt/corretto-slim /usr/lib/jvm/java-20-amazon-corretto && \ - ln -sfn /usr/lib/jvm/java-20-amazon-corretto /usr/lib/jvm/default-jvm - - - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/default-jvm -ENV PATH=$PATH:/usr/lib/jvm/default-jvm/bin diff --git a/20/slim/debian/Dockerfile b/20/slim/debian/Dockerfile deleted file mode 100644 index 4b50315..0000000 --- a/20/slim/debian/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM debian:buster-slim - -ARG version=20.0.2.10-1 -# In addition to installing the Amazon corretto, we also install -# fontconfig. The folks who manage the docker hub's -# official image library have found that font management -# is a common usecase, and painpoint, and have -# recommended that Java images include font support. -# -# See: -# https://github.com/docker-library/official-images/blob/master/test/tests/java-uimanager-font/container.java -# -# Slim: -# JLink is used (retaining all modules) to create a slimmer version of the JDK excluding man-pages, header files and debugging symbols - saving ~113MB. -RUN set -ux \ - && apt-get update \ - && apt-get install -y --no-install-recommends \ - curl ca-certificates gnupg software-properties-common fontconfig \ - && curl -fL https://apt.corretto.aws/corretto.key | apt-key add - \ - && add-apt-repository 'deb https://apt.corretto.aws stable main' \ - && mkdir -p /usr/share/man/man1 \ - && apt-get update \ - && apt-get install -y java-20-amazon-corretto-jdk=1:$version binutils \ - && jlink --add-modules "$(java --list-modules | sed -e 's/@[0-9].*$/,/' | tr -d \\n)" --no-man-pages --no-header-files --strip-debug --output /opt/corretto-slim \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \ - curl gnupg software-properties-common binutils java-20-amazon-corretto-jdk=1:$version \ - && mkdir -p /usr/lib/jvm \ - && mv /opt/corretto-slim /usr/lib/jvm/java-20-amazon-corretto \ - && jdk_tools="java keytool rmid rmiregistry javac jaotc jlink jmod jhsdb jar jarsigner javadoc javap jcmd jconsole jdb jdeps jdeprscan jimage jinfo jmap jps jrunscript jshell jstack jstat jstatd serialver" \ - && priority=$(echo "1${version}" | sed "s/\(\.\|-\)//g") \ - && for i in ${jdk_tools}; do \ - update-alternatives --install /usr/bin/$i $i /usr/lib/jvm/java-20-amazon-corretto/bin/$i ${priority}; \ - done - - -ENV LANG C.UTF-8 -ENV JAVA_HOME=/usr/lib/jvm/java-20-amazon-corretto diff --git a/bin/update-dockerfiles.sh b/bin/update-dockerfiles.sh index 530dc8e..916d964 100755 --- a/bin/update-dockerfiles.sh +++ b/bin/update-dockerfiles.sh @@ -103,7 +103,6 @@ done CORRETTO_8_GENERIC_LINUX=$(cat versions.json | jq -r '.["8"]' ) CORRETTO_11_GENERIC_LINUX=$(cat versions.json | jq -r '.["11"]' ) CORRETTO_17_GENERIC_LINUX=$(cat versions.json | jq -r '.["17"]' ) -CORRETTO_20_GENERIC_LINUX=$(cat versions.json | jq -r '.["20"]' ) CORRETTO_21_GENERIC_LINUX=$(cat versions.json | jq -r '.["21"]' ) if [ ! -z "${CORRETTO_11_GENERIC_LINUX}" ]; then @@ -114,10 +113,6 @@ if [ ! -z "${CORRETTO_17_GENERIC_LINUX}" ]; then update_generic_linux ${CORRETTO_17_GENERIC_LINUX} 17 fi -if [ ! -z "${CORRETTO_20_GENERIC_LINUX}" ]; then - update_generic_linux ${CORRETTO_20_GENERIC_LINUX} 20 -fi - if [ ! -z "${CORRETTO_21_GENERIC_LINUX}" ]; then update_generic_linux ${CORRETTO_21_GENERIC_LINUX} 21 fi @@ -146,5 +141,4 @@ python3 bin/apply-template.py verify_update 8 ${jdk_version} verify_update 11 ${CORRETTO_11_GENERIC_LINUX} verify_update 17 ${CORRETTO_17_GENERIC_LINUX} -verify_update 20 ${CORRETTO_20_GENERIC_LINUX} verify_update 21 ${CORRETTO_21_GENERIC_LINUX} diff --git a/test/test-image-corretto20-jdk.yaml b/test/test-image-corretto20-jdk.yaml deleted file mode 100644 index aa51f23..0000000 --- a/test/test-image-corretto20-jdk.yaml +++ /dev/null @@ -1,22 +0,0 @@ -schemaVersion: "2.0.0" - -metadataTest: - envVars: - - key: LANG - value: C.UTF-8 - -commandTests: - - name: "java command is registered using alternatives." - command: "java" - args: ["-version"] - expectedError: ["OpenJDK Runtime Environment Corretto-20.*"] - - - name: "javac command is registered using alternatives." - command: "javac" - args: ["-version"] - expectedOutput: ["javac 20*"] - - - name: "JAVA_HOME points to the correct directory." - command: "$JAVA_HOME/bin/java" - args: ["-version"] - expectedError: ["OpenJDK Runtime Environment Corretto-20.*"] diff --git a/test/test-image-corretto20-slim.yaml b/test/test-image-corretto20-slim.yaml deleted file mode 100644 index aa51f23..0000000 --- a/test/test-image-corretto20-slim.yaml +++ /dev/null @@ -1,22 +0,0 @@ -schemaVersion: "2.0.0" - -metadataTest: - envVars: - - key: LANG - value: C.UTF-8 - -commandTests: - - name: "java command is registered using alternatives." - command: "java" - args: ["-version"] - expectedError: ["OpenJDK Runtime Environment Corretto-20.*"] - - - name: "javac command is registered using alternatives." - command: "javac" - args: ["-version"] - expectedOutput: ["javac 20*"] - - - name: "JAVA_HOME points to the correct directory." - command: "$JAVA_HOME/bin/java" - args: ["-version"] - expectedError: ["OpenJDK Runtime Environment Corretto-20.*"] diff --git a/versions.json b/versions.json index af8e1d2..04cfb2b 100644 --- a/versions.json +++ b/versions.json @@ -2,7 +2,6 @@ "8" : "8.392.08.1", "11" : "11.0.21.9.1", "17" : "17.0.9.8.1", - "20" : "20.0.2.10.1", "21" : "21.0.1.12.1" }