From 0d5a30c7baa9f9dc554fd271dd62069c0a9c37e2 Mon Sep 17 00:00:00 2001 From: Sarah Chen Date: Wed, 1 Jul 2026 16:18:31 -0400 Subject: [PATCH 1/3] Add EA JDK 27 build --- Dockerfile | 5 +++++ README.md | 1 + build | 7 ++++--- scripts/delete-test-mirror-entries.sh | 2 +- scripts/get-image-digests.sh | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 50f5068..9c3843c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,7 +60,9 @@ COPY --from=eclipse-temurin:11-jdk-noble /opt/java/openjdk /usr/lib/jvm/11 COPY --from=eclipse-temurin:17-jdk-noble /opt/java/openjdk /usr/lib/jvm/17 COPY --from=eclipse-temurin:21-jdk-noble /opt/java/openjdk /usr/lib/jvm/21 COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 +# Java 27 TODO: remove 26 and update 27 images after GA COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /usr/lib/jvm/26 +COPY --from=openjdk:27-ea-jdk-bookworm /usr/local/openjdk-27 /usr/lib/jvm/27 COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} COPY --from=azul/zulu-openjdk:8 /usr/lib/jvm/zulu8 /usr/lib/jvm/zulu8 @@ -128,6 +130,7 @@ COPY --from=all-jdk /usr/lib/jvm/17 /usr/lib/jvm/17 COPY --from=all-jdk /usr/lib/jvm/21 /usr/lib/jvm/21 COPY --from=all-jdk /usr/lib/jvm/25 /usr/lib/jvm/25 COPY --from=all-jdk /usr/lib/jvm/26 /usr/lib/jvm/26 +COPY --from=all-jdk /usr/lib/jvm/27 /usr/lib/jvm/27 COPY --from=all-jdk /usr/lib/jvm/${LATEST_VERSION} /usr/lib/jvm/${LATEST_VERSION} # Base image with minimum requirements to build the project. @@ -233,7 +236,9 @@ ENV JAVA_11_HOME=/usr/lib/jvm/11 ENV JAVA_17_HOME=/usr/lib/jvm/17 ENV JAVA_21_HOME=/usr/lib/jvm/21 ENV JAVA_25_HOME=/usr/lib/jvm/25 +# Java 27 TODO: remove following two lines after GA ENV JAVA_26_HOME=/usr/lib/jvm/26 +ENV JAVA_27_HOME=/usr/lib/jvm/27 ENV JAVA_${LATEST_VERSION}_HOME=/usr/lib/jvm/${LATEST_VERSION} ENV JAVA_HOME=${JAVA_8_HOME} diff --git a/README.md b/README.md index 2083724..9d9f977 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Image variants are available on a per JDK basis: - The `base` variant and its aliases — `8`, `11`, `17`, `21`, `25`, and `tip` — contain the base Eclipse Temurin JDK 8, 11, 17, 21, 25, and tip JDK version releases. - The `zulu8`, `zulu11`, `oracle8`, `ibm8`, `semeru8`, `semeru11`, `semeru17`, `graalvm17`, `graalvm21`, and `graalvm25` variants each contain the base JDKs in addition to the specific JDK from their name. - The `latest` variant contains the base JDKs and all of the specific JDKs above. +- EA JDK `27` is currently being tested. All variants are published as multi-arch manifests covering `linux/amd64` and `linux/arm64`, so the same tag (e.g. `base`, `zulu8`, `tip`) resolves to the correct image for the host architecture. The `7` and `ibm8` variants are amd64-only because the upstream JDK images are not available for arm64; diff --git a/build b/build index c7fd8b0..62e4983 100755 --- a/build +++ b/build @@ -3,7 +3,7 @@ set -eu readonly IMAGE_NAME="ghcr.io/datadog/dd-trace-java-docker-build" -readonly BASE_VARIANTS=(8 11 17 21 25 tip) +readonly BASE_VARIANTS=(8 11 17 21 25 27 tip) # Java 27 TODO: move tip to 27 after GA readonly ALL_VARIANTS=( 7 @@ -22,7 +22,7 @@ readonly ALL_VARIANTS=( # Variants whose upstream JDK images are not published for arm64. readonly AMD64_ONLY_VARIANTS=(7 ibm8) -readonly LATEST_VERSION="26" +readonly LATEST_VERSION="26" # Java 27 TODO: update to 27 after GA readonly PLATFORM="${PLATFORM:-linux/amd64}" readonly DIGESTS_DIR="${DIGESTS_DIR:-./digests}" @@ -210,7 +210,8 @@ function do_inner_test() { "$JAVA_17_HOME/bin/java" -version "$JAVA_21_HOME/bin/java" -version "$JAVA_25_HOME/bin/java" -version - "$JAVA_26_HOME/bin/java" -version + "$JAVA_26_HOME/bin/java" -version # Java 27 TODO: delete after GA + "$JAVA_27_HOME/bin/java" -version # Java 27 TODO: delete after GA "${!java_latest_home}/bin/java" -version if [[ $variant != base && $variant != latest ]]; then if [[ $variant == "tip" ]]; then diff --git a/scripts/delete-test-mirror-entries.sh b/scripts/delete-test-mirror-entries.sh index 2c57ac2..8a817a9 100644 --- a/scripts/delete-test-mirror-entries.sh +++ b/scripts/delete-test-mirror-entries.sh @@ -12,7 +12,7 @@ set -euo pipefail readonly SOURCE_PREFIX="ghcr.io/datadog/dd-trace-java-docker-build" readonly DEST_REPO="dd-trace-java-docker-build" -readonly CI_VARIANTS=(base 7 8 11 17 21 25 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) +readonly CI_VARIANTS=(base 7 8 11 17 21 25 27 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) if ! [[ "${PR_NUMBER}" =~ ^[0-9]+$ ]]; then echo "::error::PR_NUMBER must be numeric (got: '${PR_NUMBER}')" >&2 diff --git a/scripts/get-image-digests.sh b/scripts/get-image-digests.sh index 474d0ad..9d7ca8c 100755 --- a/scripts/get-image-digests.sh +++ b/scripts/get-image-digests.sh @@ -10,7 +10,7 @@ set -euo pipefail -readonly CI_VARIANTS=(base 7 8 11 17 21 25 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) +readonly CI_VARIANTS=(base 7 8 11 17 21 25 27 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) # update_digest TAG DIGEST FILE # Finds the line "source: ...:TAG" and updates the digest on the following line. From bf2087912630d17905667c9ff4fcf31d04b37162 Mon Sep 17 00:00:00 2001 From: Sarah Chen Date: Thu, 2 Jul 2026 14:17:30 -0400 Subject: [PATCH 2/3] Add TODO comments --- Dockerfile | 1 + scripts/delete-test-mirror-entries.sh | 1 + scripts/get-image-digests.sh | 1 + 3 files changed, 3 insertions(+) diff --git a/Dockerfile b/Dockerfile index 9c3843c..f96229f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -129,6 +129,7 @@ COPY --from=all-jdk /usr/lib/jvm/11 /usr/lib/jvm/11 COPY --from=all-jdk /usr/lib/jvm/17 /usr/lib/jvm/17 COPY --from=all-jdk /usr/lib/jvm/21 /usr/lib/jvm/21 COPY --from=all-jdk /usr/lib/jvm/25 /usr/lib/jvm/25 +# Java 27 TODO: remove following two lines after GA COPY --from=all-jdk /usr/lib/jvm/26 /usr/lib/jvm/26 COPY --from=all-jdk /usr/lib/jvm/27 /usr/lib/jvm/27 COPY --from=all-jdk /usr/lib/jvm/${LATEST_VERSION} /usr/lib/jvm/${LATEST_VERSION} diff --git a/scripts/delete-test-mirror-entries.sh b/scripts/delete-test-mirror-entries.sh index 8a817a9..669d4f0 100644 --- a/scripts/delete-test-mirror-entries.sh +++ b/scripts/delete-test-mirror-entries.sh @@ -12,6 +12,7 @@ set -euo pipefail readonly SOURCE_PREFIX="ghcr.io/datadog/dd-trace-java-docker-build" readonly DEST_REPO="dd-trace-java-docker-build" +# Java 27 TODO: move tip to 27 after GA readonly CI_VARIANTS=(base 7 8 11 17 21 25 27 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) if ! [[ "${PR_NUMBER}" =~ ^[0-9]+$ ]]; then diff --git a/scripts/get-image-digests.sh b/scripts/get-image-digests.sh index 9d7ca8c..f87cf82 100755 --- a/scripts/get-image-digests.sh +++ b/scripts/get-image-digests.sh @@ -10,6 +10,7 @@ set -euo pipefail +# Java 27 TODO: move tip to 27 after GA readonly CI_VARIANTS=(base 7 8 11 17 21 25 27 tip zulu8 zulu11 oracle8 ibm8 semeru8 semeru11 semeru17 graalvm17 graalvm21 graalvm25) # update_digest TAG DIGEST FILE From 0815f55a4fa0e553550d1ab0e2ecfebec4912e32 Mon Sep 17 00:00:00 2001 From: Sarah Chen Date: Thu, 2 Jul 2026 14:25:54 -0400 Subject: [PATCH 3/3] Fix comment --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f96229f..78e5ca4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,7 +60,7 @@ COPY --from=eclipse-temurin:11-jdk-noble /opt/java/openjdk /usr/lib/jvm/11 COPY --from=eclipse-temurin:17-jdk-noble /opt/java/openjdk /usr/lib/jvm/17 COPY --from=eclipse-temurin:21-jdk-noble /opt/java/openjdk /usr/lib/jvm/21 COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 -# Java 27 TODO: remove 26 and update 27 images after GA +# Java 27 TODO: remove following two lines after GA COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /usr/lib/jvm/26 COPY --from=openjdk:27-ea-jdk-bookworm /usr/local/openjdk-27 /usr/lib/jvm/27 COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION}