From 33900fcfed5dc25d6b4d4540a7f5fe891ec8ce19 Mon Sep 17 00:00:00 2001 From: Houssem eXo Date: Mon, 27 Apr 2026 17:29:48 +0200 Subject: [PATCH 1/4] Add multi-platform support (arm64/amd64) for Ubuntu 26.04 based images --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index acc10fb..7dfedb5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,6 +39,7 @@ jobs: ## Ubuntu 26.04 (latest) - context: openjdk-25/ubuntu/26.04 imageTag: latest,25,25-ubuntu,25-ubuntu-26,25-ubuntu-2604,openjdk-25,openjdk-25-ubuntu,openjdk-25-ubuntu-26,openjdk-25-ubuntu-2604 + platforms: linux/arm64,linux/amd64 ## Ubuntu 24.04 - context: openjdk-25/ubuntu/24.04 imageTag: 25-ubuntu-24,25-ubuntu-2404,openjdk-25-ubuntu-24,openjdk-25-ubuntu-2404 @@ -46,6 +47,7 @@ jobs: ## Ubuntu 26.04 - context: openjdk-21/ubuntu/26.04 imageTag: 21,21-ubuntu,21-ubuntu-26,21-ubuntu-2604,openjdk-21,openjdk-21-ubuntu,openjdk-21-ubuntu-26,openjdk-21-ubuntu-2604 + platforms: linux/arm64,linux/amd64 ## Ubuntu 24.04 - context: openjdk-21/ubuntu/24.04 imageTag: 21-ubuntu-24,21-ubuntu-2404,openjdk-21-ubuntu-24,openjdk-21-ubuntu-2404 @@ -84,6 +86,7 @@ jobs: dockerImage: "exoplatform/jdk" dockerFileContext: ${{ matrix.context }} dockerImageTag: ${{ matrix.imageTag }} + platforms: ${{ matrix.platforms }} attestImage: true DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} \ No newline at end of file From b226998f084282b5e2c514128f703b4f084c85ac Mon Sep 17 00:00:00 2001 From: Houssem eXo Date: Mon, 27 Apr 2026 17:55:51 +0200 Subject: [PATCH 2/4] Fix JAVA_HOME --- openjdk-21/ubuntu/26.04/Dockerfile | 2 +- openjdk-25/ubuntu/26.04/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openjdk-21/ubuntu/26.04/Dockerfile b/openjdk-21/ubuntu/26.04/Dockerfile index 43bfd5a..d41067b 100644 --- a/openjdk-21/ubuntu/26.04/Dockerfile +++ b/openjdk-21/ubuntu/26.04/Dockerfile @@ -22,6 +22,6 @@ RUN apt-get -qq update && \ RUN apt-get -qq -y autoremove && \ apt-get -qq -y clean && \ rm -rf /var/lib/apt/lists/* -ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-amd64 +ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"] diff --git a/openjdk-25/ubuntu/26.04/Dockerfile b/openjdk-25/ubuntu/26.04/Dockerfile index c1c425b..b37a1db 100644 --- a/openjdk-25/ubuntu/26.04/Dockerfile +++ b/openjdk-25/ubuntu/26.04/Dockerfile @@ -22,6 +22,6 @@ RUN apt-get -qq update && \ RUN apt-get -qq -y autoremove && \ apt-get -qq -y clean && \ rm -rf /var/lib/apt/lists/* -ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-amd64 +ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"] From fb1c0902fbabded72df2cf133f01abf0d06eeade Mon Sep 17 00:00:00 2001 From: Houssem eXo Date: Mon, 27 Apr 2026 18:26:59 +0200 Subject: [PATCH 3/4] Update Readme --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 69ba0bc..afeddda 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ | **openjdk-8 + Ubuntu 22.04** | `8`, `8-ubuntu`, `8-ubuntu-22`, `8-ubuntu-2204`, `openjdk-8`, `openjdk-8-ubuntu`, `openjdk-8-ubuntu-22`, `openjdk-8-ubuntu-2204` | `openjdk-8/ubuntu/22.04/Dockerfile` | | **openjdk-8 + Ubuntu 20.04** | `8-ubuntu-20`, `8-ubuntu-2004`, `openjdk-8-ubuntu-20`, `openjdk-8-ubuntu-2004` | `openjdk-8/ubuntu/20.04/Dockerfile` | +> **Multi-Architecture Support**: Starting from Ubuntu 26.04 (Resolute Raccoon), images are built for both `linux/amd64` and `linux/arm64` architectures. This allows running these JDK images on Apple Silicon (M1/M2/M3), AWS Graviton, and other ARM64-based systems. Images based on Ubuntu 24.04 and earlier are amd64 only. + - [Quick reference](#quick-reference) - [How to use this image](#how-to-use-this-image) From 9e224f7350c5828dba936abb55d354494e7df4ef Mon Sep 17 00:00:00 2001 From: Houssem eXo Date: Tue, 28 Apr 2026 00:02:59 +0200 Subject: [PATCH 4/4] Add symlink --- openjdk-21/ubuntu/26.04/Dockerfile | 6 +++++- openjdk-25/ubuntu/26.04/Dockerfile | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/openjdk-21/ubuntu/26.04/Dockerfile b/openjdk-21/ubuntu/26.04/Dockerfile index d41067b..c39da9f 100644 --- a/openjdk-21/ubuntu/26.04/Dockerfile +++ b/openjdk-21/ubuntu/26.04/Dockerfile @@ -22,6 +22,10 @@ RUN apt-get -qq update && \ RUN apt-get -qq -y autoremove && \ apt-get -qq -y clean && \ rm -rf /var/lib/apt/lists/* -ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) + +# Create a symlink that points to the actual JDK location +RUN ln -s /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) /usr/lib/jvm/zulu${JDK_MAJOR_VERSION} + +ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION} ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"] diff --git a/openjdk-25/ubuntu/26.04/Dockerfile b/openjdk-25/ubuntu/26.04/Dockerfile index b37a1db..05f7fc8 100644 --- a/openjdk-25/ubuntu/26.04/Dockerfile +++ b/openjdk-25/ubuntu/26.04/Dockerfile @@ -22,6 +22,10 @@ RUN apt-get -qq update && \ RUN apt-get -qq -y autoremove && \ apt-get -qq -y clean && \ rm -rf /var/lib/apt/lists/* -ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) + +# Create a symlink that points to the actual JDK location +RUN ln -s /usr/lib/jvm/zulu${JDK_MAJOR_VERSION}-ca-$(dpkg --print-architecture) /usr/lib/jvm/zulu${JDK_MAJOR_VERSION} + +ENV JAVA_HOME /usr/lib/jvm/zulu${JDK_MAJOR_VERSION} ENTRYPOINT ["/usr/local/bin/tini", "--", "/usr/bin/java"]