This is an automated email from the ASF dual-hosted git repository.
dongjoon-hyun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark-docker.git
The following commit(s) were added to refs/heads/master by this push:
new b893de9 [SPARK-57292] Add `publish-java25.yaml` to publish Java
25-based docker images
b893de9 is described below
commit b893de95d57d0d0f00499d7f3d031cbafb434595
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Fri Jun 5 22:52:41 2026 -0700
[SPARK-57292] Add `publish-java25.yaml` to publish Java 25-based docker
images
### What changes were proposed in this pull request?
This PR aims to add `publish-java25.yaml` to publish Java 25-based docker
images.
### Why are the changes needed?
Since Apache Spark 4.2.0 starts to support Java 25 via SPARK-51167, we need
to prepare to publish Java25-based images.
### Does this PR introduce _any_ user-facing change?
No behavior change.
### How was this patch tested?
Manual review only.
Unfortunately, we cannot publish Java25-based images until 4.2.0-preview5.
So, Apache Spark 4.2.0 is the first release to have this, we need to test
with 4.2.0.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.8)
Closes #121 from dongjoon-hyun/SPARK-57292.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.github/workflows/publish-java25.yaml | 88 +++++++++++++++++++++++++++++++++++
README.md | 2 +-
2 files changed, 89 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/publish-java25.yaml
b/.github/workflows/publish-java25.yaml
new file mode 100644
index 0000000..72ab48e
--- /dev/null
+++ b/.github/workflows/publish-java25.yaml
@@ -0,0 +1,88 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: "Publish (Java 25 only)"
+
+on:
+ workflow_dispatch:
+ inputs:
+ spark:
+ description: 'The Spark version of Spark image.'
+ required: true
+ default: '4.2.0'
+ type: choice
+ options:
+ - 4.2.0
+ publish:
+ description: 'Publish the image or not.'
+ default: false
+ type: boolean
+ required: true
+ repository:
+ description: The registry to be published (Available only when publish
is true).
+ required: false
+ default: ghcr.io/apache/spark-docker
+ type: choice
+ options:
+ # GHCR: This required the write permission of apache/spark-docker
(Spark Committer)
+ - ghcr.io/apache/spark-docker
+ # Dockerhub: This required the DOCKERHUB_TOKEN and DOCKERHUB_USER
(Spark Committer)
+ - apache
+
+jobs:
+ # We first build and publish the base image
+ run-base-build:
+ strategy:
+ matrix:
+ scala: [2.13]
+ java: [25]
+ image-type: ["scala"]
+ permissions:
+ packages: write
+ name: Run Base
+ secrets: inherit
+ uses: ./.github/workflows/main.yml
+ with:
+ spark: ${{ inputs.spark }}
+ scala: ${{ matrix.scala }}
+ java: ${{ matrix.java }}
+ publish: ${{ inputs.publish }}
+ repository: ${{ inputs.repository }}
+ image-type: ${{ matrix.image-type }}
+
+ # Then publish the all / python / r images
+ run-build:
+ needs: run-base-build
+ strategy:
+ matrix:
+ scala: [2.13]
+ java: [25]
+ image-type: ["all", "python", "r"]
+ permissions:
+ packages: write
+ name: Run
+ secrets: inherit
+ uses: ./.github/workflows/main.yml
+ with:
+ spark: ${{ inputs.spark }}
+ scala: ${{ matrix.scala }}
+ java: ${{ matrix.java }}
+ publish: ${{ inputs.publish }}
+ repository: ${{ inputs.repository }}
+ image-type: ${{ matrix.image-type }}
diff --git a/README.md b/README.md
index 319576d..050eaaa 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ You can see [3.4.0
PR](https://github.com/apache/spark-docker/pull/33) as refere
### Step 2. Publish apache/spark Images.
-Click [Publish (Java 21
only)](https://github.com/apache/spark-docker/actions/workflows/publish-java21.yaml),
[Publish (Java 17
only)](https://github.com/apache/spark-docker/actions/workflows/publish-java17.yaml)
(such as 4.x) or
[Publish](https://github.com/apache/spark-docker/actions/workflows/publish.yml)
(such as 3.x) to publish images.
+Click [Publish (Java 25
only)](https://github.com/apache/spark-docker/actions/workflows/publish-java25.yaml),
[Publish (Java 21
only)](https://github.com/apache/spark-docker/actions/workflows/publish-java21.yaml),
[Publish (Java 17
only)](https://github.com/apache/spark-docker/actions/workflows/publish-java17.yaml)
or
[Publish](https://github.com/apache/spark-docker/actions/workflows/publish.yml)
(such as 3.x) to publish images.
After this, the [apache/spark](https://hub.docker.com/r/apache/spark) docker
images will be published.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]