Skip to content

Commit 4f4995a

Browse files
Download latest Oracle JDK8 binaries and minor cleanup. (#123)
1 parent a4f4bfa commit 4f4995a

File tree

4 files changed

+30
-19
lines changed

4 files changed

+30
-19
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ jobs:
1818
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
1919
packages: write # for image publication to GitHub Packages
2020
runs-on: ubuntu-latest
21+
environment:
22+
name: ci-build
2123
steps:
2224
- name: Checkout repository
2325
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # 5.0.0
@@ -36,6 +38,8 @@ jobs:
3638
docker-images: false # Do not remove locally built images (including trivy scanner)
3739
- name: Build images
3840
id: build
41+
env:
42+
ORACLE_JAVA8_TOKEN: ${{ secrets.ORACLE_JAVA8_TOKEN }}
3943
run: ./build
4044
- name: Test images
4145
run: ./build --test

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea

Dockerfile

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ RUN <<-EOT
3030
sudo apt-get install -y curl tar apt-transport-https ca-certificates gnupg locales jq git gh yq lsb-release lsof
3131
sudo locale-gen en_US.UTF-8
3232
sudo git config --system --add safe.directory "*"
33-
33+
3434
sudo mkdir -p /tmp/docker-install
3535
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)
3636
sudo curl -fsSL "https://download.docker.com/linux/static/stable/$(uname -m)/docker-${DOCKER_LATEST_VERSION}.tgz" | sudo tar -xz -C /tmp/docker-install
@@ -39,17 +39,17 @@ RUN <<-EOT
3939
sudo mkdir -p /usr/local/lib/docker/cli-plugins
4040
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
4141
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
42-
42+
4343
sudo apt-get clean
4444
sudo rm -rf /var/lib/apt/lists/*
4545
EOT
4646

4747
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
4848

49-
COPY --from=eclipse-temurin:8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/8
50-
COPY --from=eclipse-temurin:11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/11
51-
COPY --from=eclipse-temurin:17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/17
52-
COPY --from=eclipse-temurin:21-jdk-jammy /opt/java/openjdk /usr/lib/jvm/21
49+
COPY --from=eclipse-temurin:8-jdk-noble /opt/java/openjdk /usr/lib/jvm/8
50+
COPY --from=eclipse-temurin:11-jdk-noble /opt/java/openjdk /usr/lib/jvm/11
51+
COPY --from=eclipse-temurin:17-jdk-noble /opt/java/openjdk /usr/lib/jvm/17
52+
COPY --from=eclipse-temurin:21-jdk-noble /opt/java/openjdk /usr/lib/jvm/21
5353
COPY --from=eclipse-temurin:25-jdk-noble /opt/java/openjdk /usr/lib/jvm/25
5454
COPY --from=temurin-latest /opt/java/openjdk /usr/lib/jvm/${LATEST_VERSION}
5555

@@ -59,31 +59,36 @@ COPY --from=azul/zulu-openjdk:11 /usr/lib/jvm/zulu11 /usr/lib/jvm/zulu11
5959

6060
COPY --from=ibmjava:8-sdk /opt/ibm/java /usr/lib/jvm/ibm8
6161

62-
COPY --from=ibm-semeru-runtimes:open-8-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru8
63-
COPY --from=ibm-semeru-runtimes:open-11-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru11
64-
COPY --from=ibm-semeru-runtimes:open-17-jdk-jammy /opt/java/openjdk /usr/lib/jvm/semeru17
62+
COPY --from=ibm-semeru-runtimes:open-8-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru8
63+
COPY --from=ibm-semeru-runtimes:open-11-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru11
64+
COPY --from=ibm-semeru-runtimes:open-17-jdk-noble /opt/java/openjdk /usr/lib/jvm/semeru17
6565

6666
COPY --from=ghcr.io/graalvm/native-image-community:17-ol9 /usr/lib64/graalvm/graalvm-community-java17 /usr/lib/jvm/graalvm17
6767
COPY --from=ghcr.io/graalvm/native-image-community:21-ol9 /usr/lib64/graalvm/graalvm-community-java21 /usr/lib/jvm/graalvm21
6868
COPY --from=ghcr.io/graalvm/native-image-community:25-ol10 /usr/lib64/graalvm/graalvm-community-java25 /usr/lib/jvm/graalvm25
6969

70-
# See: https://gist.github.com/wavezhang/ba8425f24a968ec9b2a8619d7c2d86a6
71-
# Note it seems that latest Oracle JDK 8 are not available for download without an account.
72-
# Latest available is jdk-8u381-linux-x64.tar.gz
73-
RUN <<-EOT
70+
# See:
71+
# 1. Oracle docimention about script friendly download: https://docs.oracle.com/en-us/iaas/jms/doc/script-friendly-download.html
72+
# 2. DataDog and Oracle Partnership: https://datadoghq.atlassian.net/wiki/spaces/APMINT/pages/2710931486/Oracle+Partner+Network
73+
# Note:
74+
# 1. Token can be created here: https://cloud.oracle.com/?tenant=ddsbxplayground&domain=datadog&region=us-ashburn-1
75+
# 2. Once created, token should be added to GitHub protected environment by repository administrator.
76+
RUN --mount=type=secret,id=oracle_java8_token,uid=1001,gid=1001,mode=0400 <<-EOT
7477
set -eux
7578
sudo mkdir -p /usr/lib/jvm/oracle8
76-
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
79+
ORACLE_JAVA8_TOKEN="$(cat /run/secrets/oracle_java8_token)"
80+
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
81+
unset ORACLE_JAVA8_TOKEN
7782
EOT
7883

7984
# Remove cruft from JDKs that is not used in the build process.
8085
RUN <<-EOT
8186
sudo rm -rf \
82-
/usr/lib/jvm/*/man \
83-
/usr/lib/jvm/*/lib/src.zip \
84-
/usr/lib/jvm/*/demo \
85-
/usr/lib/jvm/*/sample \
86-
/usr/lib/jvm/graalvm*/lib/installer
87+
/usr/lib/jvm/*/man \
88+
/usr/lib/jvm/*/lib/src.zip \
89+
/usr/lib/jvm/*/demo \
90+
/usr/lib/jvm/*/sample \
91+
/usr/lib/jvm/graalvm*/lib/installer
8792
EOT
8893

8994
FROM scratch AS default-jdk

build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ function docker_build() {
7272
shift
7373
docker build \
7474
--build-arg LATEST_VERSION=$LATEST_VERSION \
75+
--secret id=oracle_java8_token,env=ORACLE_JAVA8_TOKEN \
7576
--platform linux/amd64 \
7677
--label org.opencontainers.image.created="$BUILD_DATE" \
7778
--label org.opencontainers.image.source=https://github.com/DataDog/dd-trace-java-docker-build \

0 commit comments

Comments
 (0)