From 88c726e24b571f7f87be6f8b91c620f63d36dff5 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 5 Nov 2025 13:17:24 -0500 Subject: [PATCH 01/23] Download latest Oracle JDK8 binaries. --- .gitignore | 1 + Dockerfile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/Dockerfile b/Dockerfile index 0e02d90..324f6d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -73,7 +73,7 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr RUN <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - sudo curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=248746_8c876547113c4e4aab3c868e9e0ec572" | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 + sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 EOT # Remove cruft from JDKs that is not used in the build process. From 0de43042c6af242b7dd38909704ad6b2c161f217 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 15:34:43 -0500 Subject: [PATCH 02/23] WIP --- .github/workflows/ci.yml | 2 ++ Dockerfile | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 289e7c3..fc54990 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,8 @@ jobs: docker-images: false # Do not remove locally built images (including trivy scanner) - name: Build images id: build + env: + ORACLE_JAVA8_TOKEN: ${{ secrets.ORACLE_JAVA8_TOKEN }} run: ./build - name: Test images run: ./build --test diff --git a/Dockerfile b/Dockerfile index 324f6d8..711d7e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,9 +67,10 @@ COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/gra COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 -# See: https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6 -# Note it seems that latest Oracle JDK 8 are not available for download without an account. -# Latest available is jdk-8u381-linux-x64.tar.gz +# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html +# Note: +# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 +# 2. Once created, token should be added to GitHub protected environment by repository administrator. RUN <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 From f6905a5939739d80e57adb791e5454713bd070e6 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 15:45:04 -0500 Subject: [PATCH 03/23] WIP --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 711d7e0..a2dcc19 100644 --- a/Dockerfile +++ b/Dockerfile @@ -74,7 +74,7 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr RUN <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 + sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 EOT # Remove cruft from JDKs that is not used in the build process. From 64de672f247d79975aedde6c6266ae17776163b8 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 17:20:38 -0500 Subject: [PATCH 04/23] pass secrets --- Dockerfile | 16 ++++++++++------ build | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a2dcc19..cef3e27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,20 +71,24 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN <<-EOT +RUN --mount=type=secret,id=oracle_java8_token <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 + # turn off tracing before touching secrets + set +x + ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 + unset ORACLE_JAVA8_TOKEN EOT # Remove cruft from JDKs that is not used in the build process. RUN <<-EOT sudo rm -rf \ - /usr/lib/jvm/*/man \ - /usr/lib/jvm/*/lib/src.zip \ - /usr/lib/jvm/*/demo \ - /usr/lib/jvm/*/sample \ - /usr/lib/jvm/graalvm*/lib/installer + /usr/lib/jvm/*/man \ + /usr/lib/jvm/*/lib/src.zip \ + /usr/lib/jvm/*/demo \ + /usr/lib/jvm/*/sample \ + /usr/lib/jvm/graalvm*/lib/installer EOT FROM scratch AS default-jdk diff --git a/build b/build index 0effe06..43843ec 100755 --- a/build +++ b/build @@ -72,6 +72,7 @@ function docker_build() { shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ + --secret id=oracle_java8_token,env=ORACLE_JAVA8_TOKEN \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From af8d7572ea05d33cba908c0262ef55e0559a757b Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 17:26:44 -0500 Subject: [PATCH 05/23] sudo --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cef3e27..28b4b83 100644 --- a/Dockerfile +++ b/Dockerfile @@ -76,7 +76,7 @@ RUN --mount=type=secret,id=oracle_java8_token <<-EOT sudo mkdir -p /usr/lib/jvm/oracle8 # turn off tracing before touching secrets set +x - ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT From 69021ed0678a6714e760158ab09a89446ec7267c Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 17:40:42 -0500 Subject: [PATCH 06/23] debug 1 --- Dockerfile | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 28b4b83..2cd9a6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,21 @@ # syntax=docker/dockerfile:1.6 +FROM ubuntu:latest AS oracle8 +# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html +# Note: +# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 +# 2. Once created, token should be added to GitHub protected environment by repository administrator. +RUN id non-root-user +RUN --mount=type=secret,id=oracle_java8_token <<-EOT + set -eux + sudo mkdir -p /usr/lib/jvm/oracle8 + # turn off tracing before touching secrets + set +x + sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 + unset ORACLE_JAVA8_TOKEN +EOT + ARG LATEST_VERSION FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest @@ -67,19 +83,6 @@ COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/gra COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 -# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html -# Note: -# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 -# 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN --mount=type=secret,id=oracle_java8_token <<-EOT - set -eux - sudo mkdir -p /usr/lib/jvm/oracle8 - # turn off tracing before touching secrets - set +x - sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" - sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 - unset ORACLE_JAVA8_TOKEN -EOT # Remove cruft from JDKs that is not used in the build process. RUN <<-EOT From f428e54ef28bbd14f3c18949b697a8d1f5c33680 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 17:50:48 -0500 Subject: [PATCH 07/23] debug 2 --- Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2cd9a6d..197fd10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ # syntax=docker/dockerfile:1.6 -FROM ubuntu:latest AS oracle8 +ARG LATEST_VERSION +FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest # See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 @@ -16,9 +17,6 @@ RUN --mount=type=secret,id=oracle_java8_token <<-EOT unset ORACLE_JAVA8_TOKEN EOT -ARG LATEST_VERSION -FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest - # Intermediate image used to prune cruft from JDKs and squash them all. FROM ubuntu:latest AS all-jdk ARG LATEST_VERSION From ab64afa7da8768a5bf6e0266525bd7e1a5ef8178 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 17:54:02 -0500 Subject: [PATCH 08/23] debug 3 --- Dockerfile | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 197fd10..4164249 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,20 +2,6 @@ ARG LATEST_VERSION FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest -# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html -# Note: -# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 -# 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN id non-root-user -RUN --mount=type=secret,id=oracle_java8_token <<-EOT - set -eux - sudo mkdir -p /usr/lib/jvm/oracle8 - # turn off tracing before touching secrets - set +x - sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" - sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 - unset ORACLE_JAVA8_TOKEN -EOT # Intermediate image used to prune cruft from JDKs and squash them all. FROM ubuntu:latest AS all-jdk @@ -81,6 +67,20 @@ COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/gra COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 +# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html +# Note: +# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 +# 2. Once created, token should be added to GitHub protected environment by repository administrator. +RUN id non-root-user +RUN --mount=type=secret,id=oracle_java8_token <<-EOT + set -eux + sudo mkdir -p /usr/lib/jvm/oracle8 + # turn off tracing before touching secrets + set +x + sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 + unset ORACLE_JAVA8_TOKEN +EOT # Remove cruft from JDKs that is not used in the build process. RUN <<-EOT From 360a9b076bffda48b8269a9b60fad3a98af998de Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 18:03:35 -0500 Subject: [PATCH 09/23] debug 4 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4164249..3a1d6b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,12 +72,12 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. RUN id non-root-user -RUN --mount=type=secret,id=oracle_java8_token <<-EOT +RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 # turn off tracing before touching secrets set +x - sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT From cae9ebb24e6901f9698b710730c78279c6825310 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 18:37:48 -0500 Subject: [PATCH 10/23] debug 5 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3a1d6b9..f2dbd03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -76,7 +76,7 @@ RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 # turn off tracing before touching secrets - set +x + # debug set +x ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN From 2932c50362754df964d394f3c00edf25c8d3f24e Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 18:45:41 -0500 Subject: [PATCH 11/23] debug 6 --- Dockerfile | 85 +++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/Dockerfile b/Dockerfile index f2dbd03..78a86dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,48 +24,48 @@ EOT USER non-root-user WORKDIR /home/non-root-user -RUN <<-EOT - set -eux - sudo apt-get update - sudo apt-get install -y curl tar apt-transport-https ca-certificates gnupg locales jq git gh yq lsb-release lsof - sudo locale-gen en_US.UTF-8 - sudo git config --system --add safe.directory "*" - - sudo mkdir -p /tmp/docker-install - DOCKER_LATEST_VERSION=$(curl -s https://download.docker.com/linux/static/stable/$(uname -m)/ | grep -oP 'docker-\K([0-9]+\.[0-9]+\.[0-9]+)(?=\.tgz)' | sort -V | tail -n 1) - sudo curl -fsSL "https://download.docker.com/linux/static/stable/$(uname -m)/docker-${DOCKER_LATEST_VERSION}.tgz" | sudo tar -xz -C /tmp/docker-install - sudo mv /tmp/docker-install/docker/docker /usr/local/bin/ - sudo rm -rf /tmp/docker-install - sudo mkdir -p /usr/local/lib/docker/cli-plugins - sudo curl -fsSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose - sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose - - sudo apt-get clean - sudo rm -rf /var/lib/apt/lists/* -EOT - -ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' - -COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8 -COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11 -COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17 -COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21 -COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 -COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} - -COPY --from=azul/zulu-openjdk:7 /usr/lib/jvm/zulu7 /usr/lib/jvm/7 -COPY --from=azul/zulu-openjdk:8 /usr/lib/jvm/zulu8 /usr/lib/jvm/zulu8 -COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11 - -COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8 - -COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8 -COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11 -COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17 - -COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17 -COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 -COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 +#RUN <<-EOT +# set -eux +# sudo apt-get update +# sudo apt-get install -y curl tar apt-transport-https ca-certificates gnupg locales jq git gh yq lsb-release lsof +# sudo locale-gen en_US.UTF-8 +# sudo git config --system --add safe.directory "*" +# +# sudo mkdir -p /tmp/docker-install +# DOCKER_LATEST_VERSION=$(curl -s https://download.docker.com/linux/static/stable/$(uname -m)/ | grep -oP 'docker-\K([0-9]+\.[0-9]+\.[0-9]+)(?=\.tgz)' | sort -V | tail -n 1) +# sudo curl -fsSL "https://download.docker.com/linux/static/stable/$(uname -m)/docker-${DOCKER_LATEST_VERSION}.tgz" | sudo tar -xz -C /tmp/docker-install +# sudo mv /tmp/docker-install/docker/docker /usr/local/bin/ +# sudo rm -rf /tmp/docker-install +# sudo mkdir -p /usr/local/lib/docker/cli-plugins +# sudo curl -fsSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose +# sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose +# +# sudo apt-get clean +# sudo rm -rf /var/lib/apt/lists/* +#EOT +# +#ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +#COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8 +#COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11 +#COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17 +#COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21 +#COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 +#COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} +# +#COPY --from=azul/zulu-openjdk:7 /usr/lib/jvm/zulu7 /usr/lib/jvm/7 +#COPY --from=azul/zulu-openjdk:8 /usr/lib/jvm/zulu8 /usr/lib/jvm/zulu8 +#COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11 +# +#COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8 +# +#COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8 +#COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11 +#COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17 +# +#COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17 +#COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 +#COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 # See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html # Note: @@ -78,6 +78,7 @@ RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT # turn off tracing before touching secrets # debug set +x ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + echo $ORACLE_JAVA8_TOKEN sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT From 2f5a4045b15739d2cc34c869fb2fdc45beca4335 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:00:28 -0500 Subject: [PATCH 12/23] debug 7 --- build | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build b/build index 43843ec..818e294 100755 --- a/build +++ b/build @@ -66,6 +66,8 @@ function compute_latest_version() { # See https://github.com/opencontainers/image-spec/blob/main/annotations.md for common labels # See https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package function docker_build() { + echo ">>>>>>>> DEBUG $ORACLE_JAVA8_TOKEN">> "$GITHUB_OUTPUT" + local target="$1" local tag="$2" shift From 9f3ab60e6d0e622f276b8ad276da0aa8a0cb33cb Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:05:39 -0500 Subject: [PATCH 13/23] debug 8 --- build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build b/build index 818e294..69849d9 100755 --- a/build +++ b/build @@ -66,7 +66,7 @@ function compute_latest_version() { # See https://github.com/opencontainers/image-spec/blob/main/annotations.md for common labels # See https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package function docker_build() { - echo ">>>>>>>> DEBUG $ORACLE_JAVA8_TOKEN">> "$GITHUB_OUTPUT" + echo "DEBUG: $ORACLE_JAVA8_TOKEN" >> "$GITHUB_OUTPUT" local target="$1" local tag="$2" From dea1644f392d2b64f8f3ac2e88a11c36b92d7d9b Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:13:31 -0500 Subject: [PATCH 14/23] debug 9 --- Dockerfile | 7 ++----- build | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 78a86dc..305d35c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest # Intermediate image used to prune cruft from JDKs and squash them all. FROM ubuntu:latest AS all-jdk ARG LATEST_VERSION +ARG ORACLE_JAVA8_TOKEN RUN <<-EOT set -eux @@ -71,13 +72,9 @@ WORKDIR /home/non-root-user # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN id non-root-user -RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT +RUN <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - # turn off tracing before touching secrets - # debug set +x - ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" echo $ORACLE_JAVA8_TOKEN sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN diff --git a/build b/build index 69849d9..50012a4 100755 --- a/build +++ b/build @@ -66,15 +66,13 @@ function compute_latest_version() { # See https://github.com/opencontainers/image-spec/blob/main/annotations.md for common labels # See https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package function docker_build() { - echo "DEBUG: $ORACLE_JAVA8_TOKEN" >> "$GITHUB_OUTPUT" - local target="$1" local tag="$2" shift shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ - --secret id=oracle_java8_token,env=ORACLE_JAVA8_TOKEN \ + --build-arg ORACLE_JAVA8_TOKEN=ORACLE_JAVA8_TOKEN \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From 33cfad424a80c10d59f3843c503eeb4be079d67d Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:22:01 -0500 Subject: [PATCH 15/23] debug 10 --- build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build b/build index 50012a4..98a1801 100755 --- a/build +++ b/build @@ -72,7 +72,7 @@ function docker_build() { shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ - --build-arg ORACLE_JAVA8_TOKEN=ORACLE_JAVA8_TOKEN \ + --build-arg ORACLE_JAVA8_TOKEN=$ORACLE_JAVA8_TOKEN \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From 921691562a21417adcc3de7dae91a43a7b056588 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:27:30 -0500 Subject: [PATCH 16/23] debug 11 --- Dockerfile | 2 +- build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 305d35c..c6bab10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -75,7 +75,7 @@ WORKDIR /home/non-root-user RUN <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - echo $ORACLE_JAVA8_TOKEN + echo "token is: $ORACLE_JAVA8_TOKEN" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT diff --git a/build b/build index 98a1801..37e6c4e 100755 --- a/build +++ b/build @@ -72,7 +72,7 @@ function docker_build() { shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ - --build-arg ORACLE_JAVA8_TOKEN=$ORACLE_JAVA8_TOKEN \ + --build-arg ORACLE_JAVA8_TOKEN=fake_test_token \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From cb078ae87de3001c83f3748ad62b86e666a9ce11 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 19:40:04 -0500 Subject: [PATCH 17/23] debug 12 --- .github/workflows/ci.yml | 2 ++ build | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc54990..bcc6f3f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,8 @@ jobs: security-events: write # for github/codeql-action/upload-sarif to upload SARIF results packages: write # for image publication to GitHub Packages runs-on: ubuntu-latest + environment: + name: ci-build steps: - name: Checkout repository uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0 diff --git a/build b/build index 37e6c4e..98a1801 100755 --- a/build +++ b/build @@ -72,7 +72,7 @@ function docker_build() { shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ - --build-arg ORACLE_JAVA8_TOKEN=fake_test_token \ + --build-arg ORACLE_JAVA8_TOKEN=$ORACLE_JAVA8_TOKEN \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From 71e6ccd44936043a1d5defb10d6e726d082b8993 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 20:26:14 -0500 Subject: [PATCH 18/23] debug 13 --- Dockerfile | 5 ++--- build | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index c6bab10..f4ba8e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,6 @@ FROM eclipse-temurin:${LATEST_VERSION}-jdk-noble AS temurin-latest # Intermediate image used to prune cruft from JDKs and squash them all. FROM ubuntu:latest AS all-jdk ARG LATEST_VERSION -ARG ORACLE_JAVA8_TOKEN RUN <<-EOT set -eux @@ -72,10 +71,10 @@ WORKDIR /home/non-root-user # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN <<-EOT +RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - echo "token is: $ORACLE_JAVA8_TOKEN" + ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT diff --git a/build b/build index 98a1801..43843ec 100755 --- a/build +++ b/build @@ -72,7 +72,7 @@ function docker_build() { shift docker build \ --build-arg LATEST_VERSION=$LATEST_VERSION \ - --build-arg ORACLE_JAVA8_TOKEN=$ORACLE_JAVA8_TOKEN \ + --secret id=oracle_java8_token,env=ORACLE_JAVA8_TOKEN \ --platform linux/amd64 \ --label org.opencontainers.image.created="$BUILD_DATE" \ --label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \ From 9eb4e536c6502bd6b2d513d1d82bab611f4546d1 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 13 Nov 2025 20:34:08 -0500 Subject: [PATCH 19/23] debug 14 --- Dockerfile | 84 +++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/Dockerfile b/Dockerfile index f4ba8e9..bcf8e9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,48 +24,48 @@ EOT USER non-root-user WORKDIR /home/non-root-user -#RUN <<-EOT -# set -eux -# sudo apt-get update -# sudo apt-get install -y curl tar apt-transport-https ca-certificates gnupg locales jq git gh yq lsb-release lsof -# sudo locale-gen en_US.UTF-8 -# sudo git config --system --add safe.directory "*" -# -# sudo mkdir -p /tmp/docker-install -# DOCKER_LATEST_VERSION=$(curl -s https://download.docker.com/linux/static/stable/$(uname -m)/ | grep -oP 'docker-\K([0-9]+\.[0-9]+\.[0-9]+)(?=\.tgz)' | sort -V | tail -n 1) -# sudo curl -fsSL "https://download.docker.com/linux/static/stable/$(uname -m)/docker-${DOCKER_LATEST_VERSION}.tgz" | sudo tar -xz -C /tmp/docker-install -# sudo mv /tmp/docker-install/docker/docker /usr/local/bin/ -# sudo rm -rf /tmp/docker-install -# sudo mkdir -p /usr/local/lib/docker/cli-plugins -# sudo curl -fsSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose -# sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose -# -# sudo apt-get clean -# sudo rm -rf /var/lib/apt/lists/* -#EOT -# -#ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' - -#COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8 -#COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11 -#COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17 -#COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21 -#COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 -#COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} -# -#COPY --from=azul/zulu-openjdk:7 /usr/lib/jvm/zulu7 /usr/lib/jvm/7 -#COPY --from=azul/zulu-openjdk:8 /usr/lib/jvm/zulu8 /usr/lib/jvm/zulu8 -#COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11 -# -#COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8 -# -#COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8 -#COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11 -#COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17 -# -#COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17 -#COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 -#COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 +RUN <<-EOT + set -eux + sudo apt-get update + sudo apt-get install -y curl tar apt-transport-https ca-certificates gnupg locales jq git gh yq lsb-release lsof + sudo locale-gen en_US.UTF-8 + sudo git config --system --add safe.directory "*" + + sudo mkdir -p /tmp/docker-install + DOCKER_LATEST_VERSION=$(curl -s https://download.docker.com/linux/static/stable/$(uname -m)/ | grep -oP 'docker-\K([0-9]+\.[0-9]+\.[0-9]+)(?=\.tgz)' | sort -V | tail -n 1) + sudo curl -fsSL "https://download.docker.com/linux/static/stable/$(uname -m)/docker-${DOCKER_LATEST_VERSION}.tgz" | sudo tar -xz -C /tmp/docker-install + sudo mv /tmp/docker-install/docker/docker /usr/local/bin/ + sudo rm -rf /tmp/docker-install + sudo mkdir -p /usr/local/lib/docker/cli-plugins + sudo curl -fsSL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose + sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose + + sudo apt-get clean + sudo rm -rf /var/lib/apt/lists/* +EOT + +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8 +COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11 +COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17 +COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21 +COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25 +COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} + +COPY --from=azul/zulu-openjdk:7 /usr/lib/jvm/zulu7 /usr/lib/jvm/7 +COPY --from=azul/zulu-openjdk:8 /usr/lib/jvm/zulu8 /usr/lib/jvm/zulu8 +COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11 + +COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8 + +COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8 +COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11 +COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17 + +COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17 +COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 +COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 # See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html # Note: From d397e45a6608e52c4a3a8399658789bb43b023de Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Fri, 14 Nov 2025 08:59:01 -0500 Subject: [PATCH 20/23] attempt to mount secrets under sudo --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index bcf8e9a..7f6ff29 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,10 +71,10 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT +RUN --mount=type=secret,id=oracle_java8_token <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT From 9415691f293c412e8500d8aa6848935ea693e138 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Fri, 14 Nov 2025 12:22:49 -0500 Subject: [PATCH 21/23] reverted to working variant --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7f6ff29..bcf8e9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,10 +71,10 @@ COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/gr # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator. -RUN --mount=type=secret,id=oracle_java8_token <<-EOT +RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT set -eux sudo mkdir -p /usr/lib/jvm/oracle8 - sudo ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" + ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)" sudo curl -L --fail -H "token:${ORACLE_JAVA8_TOKEN}" https://java.oraclecloud.com/java/8/latest/jdk-8-linux-x64_bin.tar.gz | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1 unset ORACLE_JAVA8_TOKEN EOT From 78ba5e4fab9028f89485a60b07319c8556790b94 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Fri, 14 Nov 2025 13:21:45 -0500 Subject: [PATCH 22/23] Move all JDKs to noble for consistency. --- Dockerfile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index bcf8e9a..973382f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,10 +46,10 @@ EOT ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' -COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8 -COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11 -COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17 -COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21 +COPY --from=eclipse-temurin:8-jdk-noble /opt/java/openjdk /usr/lib/jvm/8 +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 COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION} @@ -59,9 +59,9 @@ COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11 COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8 -COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8 -COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11 -COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17 +COPY --from=ibm-semeru-runtimes:open-8-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru8 +COPY --from=ibm-semeru-runtimes:open-11-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru11 +COPY --from=ibm-semeru-runtimes:open-17-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru17 COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17 COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 From 06886e1fb132dcd34bc1fd5ca5ac18d223b004dd Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 17 Nov 2025 12:32:57 -0500 Subject: [PATCH 23/23] Added link to Datadog and Oracle partnership. --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 973382f..f44745f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -67,7 +67,9 @@ COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/gra COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21 COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25 -# See: Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html +# See: +# 1. Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html +# 2. DataDog and Oracle Partnership: https://datadoghq.atlassian.net/wiki/spaces/APMINT/pages/2710931486/Oracle+Partner+Network # Note: # 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog®ion=us-ashburn-1 # 2. Once created, token should be added to GitHub protected environment by repository administrator.