This is an automated email from the ASF dual-hosted git repository. wenchen pushed a commit to branch update-release-dockerfile-multi-java in repository https://gitbox.apache.org/repos/asf/spark.git
commit 65b34f2f689c64481ef48176dd7b4d4aff163522 Author: Wenchen Fan <[email protected]> AuthorDate: Thu Jan 22 02:16:55 2026 +0800 [SPARK-XXXXX] Install both Java 8 and Java 17 in release Docker image This updates the release manager Docker image to include both Java 8 and Java 17, enabling builds for all active Spark branches: - Spark < 4.0: requires Java 8 - Spark >= 4.0: requires Java 17 The release scripts will automatically select the appropriate Java version based on the Spark version being released. Changes: - Add openjdk-8-jdk-headless alongside existing Java 17 - Set up architecture-aware Java paths in /etc/profile.d/java.sh - Export JAVA8_HOME, JAVA17_HOME, and JAVA_HOME environment variables --- dev/create-release/spark-rm/Dockerfile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/dev/create-release/spark-rm/Dockerfile b/dev/create-release/spark-rm/Dockerfile index e7a11d48c33f..088cd5e351e0 100644 --- a/dev/create-release/spark-rm/Dockerfile +++ b/dev/create-release/spark-rm/Dockerfile @@ -15,7 +15,13 @@ # limitations under the License. # -# Image for building Spark releases. Based on Ubuntu 22.04. +# Image for building Spark releases from all active branches. Based on Ubuntu 22.04. +# +# Includes both Java 8 and Java 17 to support building all Spark versions: +# - Spark < 4.0: requires Java 8 +# - Spark >= 4.0: requires Java 17 +# +# The release scripts will automatically select the appropriate Java version. FROM ubuntu:jammy-20250819 LABEL org.opencontainers.image.authors="Apache Spark project <[email protected]>" LABEL org.opencontainers.image.licenses="Apache-2.0" @@ -54,6 +60,7 @@ RUN apt-get update && apt-get install -y \ msmtp \ nodejs \ npm \ + openjdk-8-jdk-headless \ openjdk-17-jdk-headless \ pandoc \ pkg-config \ @@ -74,6 +81,18 @@ RUN apt-get update && apt-get install -y \ zlib1g-dev \ && rm -rf /var/lib/apt/lists/* +# Set up Java environment variables for multi-version support +# Release scripts will select appropriate version based on Spark version +# Detect architecture and set JAVA_HOME paths accordingly +RUN ARCH=$(dpkg --print-architecture) && \ + echo "export JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-${ARCH}" >> /etc/profile.d/java.sh && \ + echo "export JAVA17_HOME=/usr/lib/jvm/java-17-openjdk-${ARCH}" >> /etc/profile.d/java.sh && \ + echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-${ARCH}" >> /etc/profile.d/java.sh && \ + echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile.d/java.sh + +ENV JAVA8_HOME=/usr/lib/jvm/java-8-openjdk-amd64 +ENV JAVA17_HOME=/usr/lib/jvm/java-17-openjdk-amd64 +ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 RUN echo 'deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/' >> /etc/apt/sources.list RUN gpg --keyserver hkps://keyserver.ubuntu.com --recv-key E298A3A825C0D65DFD57CBB651716619E084DAB9 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
