This is an automated email from the ASF dual-hosted git repository.

yhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 7187ff67ee8 Handle Flink 2 job server tag in releases and SDK snapshot 
(#37939)
7187ff67ee8 is described below

commit 7187ff67ee813a429791382727dcb60fe0238ce7
Author: Yi Hu <[email protected]>
AuthorDate: Tue Mar 24 18:40:13 2026 -0400

    Handle Flink 2 job server tag in releases and SDK snapshot (#37939)
---
 .github/workflows/finalize_release.yml                             | 6 ++++++
 .../src/main/groovy/org/apache/beam/gradle/BeamDockerPlugin.groovy | 7 ++++++-
 .../flink/job-server-container/flink_job_server_container.gradle   | 3 +++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/finalize_release.yml 
b/.github/workflows/finalize_release.yml
index 0eac53ac02d..3c50cfed828 100644
--- a/.github/workflows/finalize_release.yml
+++ b/.github/workflows/finalize_release.yml
@@ -80,6 +80,12 @@ jobs:
           docker buildx imagetools create --tag "${IMAGE}:latest" 
"${IMAGE}:${RELEASE}"
         done
 
+        # Flink 2 images have different tagging, add latest tag to latest 
supported Flink version
+        echo "================Confirming Runner container Release and RC 
version==========="
+        BEAM_FLINK_REPO=apache/beam_flink_job_server
+        LATEST_FLINK_VERSION=$(wget -qO- 
https://raw.githubusercontent.com/apache/beam/refs/tags/v${RELEASE}-RC${RC_NUM}/gradle.properties
 | grep -E flink_versions |  tr ',' '\n' | tail -1)
+        docker buildx imagetools create --tag "${BEAM_FLINK_REPO}:latest" 
"${BEAM_FLINK_REPO}:${RELEASE}${RC_VERSION}-flink${LATEST_FLINK_VERSION}"
+
   publish_python_artifacts:
     if: ${{github.event.inputs.PUBLISH_PYTHON_ARTIFACTS == 'yes'}}
     runs-on: [self-hosted, ubuntu-20.04, main]
diff --git 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamDockerPlugin.groovy 
b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamDockerPlugin.groovy
index e73d4f1b22d..6963f96d731 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamDockerPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamDockerPlugin.groovy
@@ -48,6 +48,7 @@ class BeamDockerPlugin implements Plugin<Project> {
     String dockerComposeFile = 'docker-compose.yml'
     Set<Task> dependencies = [] as Set
     Set<String> tags = [] as Set
+    String tagSuffix = null
     Map<String, String> namedTags = [:]
     Map<String, String> labels = [:]
     Map<String, String> buildArgs = [:]
@@ -100,7 +101,11 @@ class BeamDockerPlugin implements Plugin<Project> {
     }
 
     Set<String> getTags() {
-      return this.tags + project.getVersion().toString()
+      def allTags = this.tags + project.getVersion().toString()
+      if (tagSuffix) {
+        allTags = allTags.collect { it.endsWith(tagSuffix) ? it : it + 
tagSuffix }.toSet()
+      }
+      return allTags
     }
 
     Set<String> getPlatform() {
diff --git 
a/runners/flink/job-server-container/flink_job_server_container.gradle 
b/runners/flink/job-server-container/flink_job_server_container.gradle
index cf492b46929..ae627aeee37 100644
--- a/runners/flink/job-server-container/flink_job_server_container.gradle
+++ b/runners/flink/job-server-container/flink_job_server_container.gradle
@@ -55,8 +55,10 @@ task copyDockerfileDependencies(type: Copy) {
 def pushContainers = project.rootProject.hasProperty(["isRelease"]) || 
project.rootProject.hasProperty("push-containers")
 def containerName = project.parent.name.startsWith("2") ? "flink_job_server" : 
"flink${project.parent.name}_job_server"
 def containerTag = project.rootProject.hasProperty(["docker-tag"]) ? 
project.rootProject["docker-tag"] : project.sdk_version
+String verInSuffix = null
 if (project.parent.name.startsWith("2")) {
   containerTag += "-flink${project.parent.name}"
+  verInSuffix = "-flink${project.parent.name}"
 }
 
 docker {
@@ -68,6 +70,7 @@ docker {
           tag: containerTag)
   // tags used by dockerTag task
   tags containerImageTags()
+  tagSuffix verInSuffix
   files "./build/"
   buildx project.useBuildx()
   platform(*project.containerPlatforms())

Reply via email to