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

derrickaw 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 54231e89266 try to fix forward tests for java 17 (#39058)
54231e89266 is described below

commit 54231e89266cd1f3dc5b90e67f3d40b8657e8a12
Author: Derrick Williams <[email protected]>
AuthorDate: Mon Jun 22 15:49:25 2026 -0400

    try to fix forward tests for java 17 (#39058)
    
    * try to fix forward with 17 only
    
    * address just two workflows
    
    * Revert XVR Spark3 workflow java-version override
    
    * Add Java 17 and 11 setup and -Pjava17Home across all XVR workflows
    
    * Revert redundant java-version override in TransformService Direct workflow
---
 .github/workflows/beam_PostCommit_XVR_Flink.yml    |  4 ++++
 .../beam_PostCommit_XVR_GoUsingJava_Dataflow.yml   |  4 ++++
 ...eam_PostCommit_XVR_JavaUsingPython_Dataflow.yml |  4 ++++
 ..._PostCommit_XVR_PythonUsingJavaSQL_Dataflow.yml |  4 ++++
 ...eam_PostCommit_XVR_PythonUsingJava_Dataflow.yml |  4 ++++
 .github/workflows/beam_PostCommit_XVR_Spark3.yml   |  4 ++++
 .../org/apache/beam/gradle/BeamModulePlugin.groovy | 24 ++++++++++++++--------
 .../controller-container/Dockerfile                |  2 +-
 8 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/beam_PostCommit_XVR_Flink.yml 
b/.github/workflows/beam_PostCommit_XVR_Flink.yml
index e93fe82f48a..ac52e88f529 100644
--- a/.github/workflows/beam_PostCommit_XVR_Flink.yml
+++ b/.github/workflows/beam_PostCommit_XVR_Flink.yml
@@ -75,6 +75,9 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: ${{ matrix.python_version }}
       - name: run PostCommit XVR Flink script
         env:
@@ -83,6 +86,7 @@ jobs:
         with:
           gradle-command: :runners:flink:${{ env.FlinkVersion 
}}:job-server:validatesCrossLanguageRunner
           arguments: |
+            -Pjava17Home=$JAVA_HOME_17_X64 \
             -PpythonVersion=${{ matrix.python_version }} \
             -PskipNonPythonTask=${{ (matrix.python_version == '3.10' && true) 
|| false }} \
       - name: Archive JUnit Test Results
diff --git a/.github/workflows/beam_PostCommit_XVR_GoUsingJava_Dataflow.yml 
b/.github/workflows/beam_PostCommit_XVR_GoUsingJava_Dataflow.yml
index 90d1eb78652..78e5c8afc3f 100644
--- a/.github/workflows/beam_PostCommit_XVR_GoUsingJava_Dataflow.yml
+++ b/.github/workflows/beam_PostCommit_XVR_GoUsingJava_Dataflow.yml
@@ -76,6 +76,9 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: default
       - name: Set up Docker Buildx
         uses: 
docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5
@@ -86,6 +89,7 @@ jobs:
         with:
           gradle-command: 
:runners:google-cloud-dataflow-java:validatesCrossLanguageRunnerGoUsingJava
           arguments: |
+              -Pjava17Home=$JAVA_HOME_17_X64 \
               -PuseDockerBuildx
       - name: Archive JUnit Test Results
         uses: actions/upload-artifact@v7
diff --git a/.github/workflows/beam_PostCommit_XVR_JavaUsingPython_Dataflow.yml 
b/.github/workflows/beam_PostCommit_XVR_JavaUsingPython_Dataflow.yml
index c282f6c4706..32dbbee7842 100644
--- a/.github/workflows/beam_PostCommit_XVR_JavaUsingPython_Dataflow.yml
+++ b/.github/workflows/beam_PostCommit_XVR_JavaUsingPython_Dataflow.yml
@@ -74,6 +74,9 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: |
             3.10
             ${{ matrix.python_version }}
@@ -82,6 +85,7 @@ jobs:
         with:
           gradle-command: 
:runners:google-cloud-dataflow-java:validatesCrossLanguageRunnerJavaUsingPython
           arguments: |
+            -Pjava17Home=$JAVA_HOME_17_X64 \
             -PpythonVersion=${{ matrix.python_version }} \
       - name: Archive JUnit Test Results
         uses: actions/upload-artifact@v7
diff --git 
a/.github/workflows/beam_PostCommit_XVR_PythonUsingJavaSQL_Dataflow.yml 
b/.github/workflows/beam_PostCommit_XVR_PythonUsingJavaSQL_Dataflow.yml
index 95496621f9c..8ec8a941ed4 100644
--- a/.github/workflows/beam_PostCommit_XVR_PythonUsingJavaSQL_Dataflow.yml
+++ b/.github/workflows/beam_PostCommit_XVR_PythonUsingJavaSQL_Dataflow.yml
@@ -73,12 +73,16 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: 3.14
       - name: run PostCommit XVR PythonUsingJavaSQL Dataflow script
         uses: ./.github/actions/gradle-command-self-hosted-action
         with:
           gradle-command: 
:runners:google-cloud-dataflow-java:validatesCrossLanguageRunnerPythonUsingSql
           arguments: |
+            -Pjava17Home=$JAVA_HOME_17_X64 \
             -PpythonVersion=3.14 \
       - name: Archive Python Test Results
         uses: actions/upload-artifact@v7
diff --git a/.github/workflows/beam_PostCommit_XVR_PythonUsingJava_Dataflow.yml 
b/.github/workflows/beam_PostCommit_XVR_PythonUsingJava_Dataflow.yml
index 0cd9790e679..acf4c47ad2c 100644
--- a/.github/workflows/beam_PostCommit_XVR_PythonUsingJava_Dataflow.yml
+++ b/.github/workflows/beam_PostCommit_XVR_PythonUsingJava_Dataflow.yml
@@ -74,6 +74,9 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: |
             3.10
             ${{ matrix.python_version }}
@@ -82,6 +85,7 @@ jobs:
         with:
           gradle-command: 
:runners:google-cloud-dataflow-java:validatesCrossLanguageRunnerPythonUsingJava
           arguments: |
+            -Pjava17Home=$JAVA_HOME_17_X64 \
             -PpythonVersion=${{ matrix.python_version }} \
       - name: Archive Python Test Results
         uses: actions/upload-artifact@v7
diff --git a/.github/workflows/beam_PostCommit_XVR_Spark3.yml 
b/.github/workflows/beam_PostCommit_XVR_Spark3.yml
index 2c7104df611..2db33583a31 100644
--- a/.github/workflows/beam_PostCommit_XVR_Spark3.yml
+++ b/.github/workflows/beam_PostCommit_XVR_Spark3.yml
@@ -74,6 +74,9 @@ jobs:
       - name: Setup environment
         uses: ./.github/actions/setup-environment-action
         with:
+          java-version: |
+            17
+            11
           python-version: ${{ matrix.python_version }}
       - name: run PostCommit XVR Spark3 script
         env:
@@ -82,6 +85,7 @@ jobs:
         with:
           gradle-command: 
:runners:spark:3:job-server:validatesCrossLanguageRunner
           arguments: |
+            -Pjava17Home=$JAVA_HOME_17_X64 \
             -PpythonVersion=${{ matrix.python_version }} \
             -PskipNonPythonTask=${{ (matrix.python_version == '3.10' && true) 
|| false }} \
       - name: Archive JUnit Test Results
diff --git 
a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy 
b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
index 344cf66e01f..b5aef5d23ad 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -978,6 +978,9 @@ class BeamModulePlugin implements Plugin<Project> {
 
     // set compiler options for java version overrides to compile with a 
different java version
     project.ext.setJavaVerOptions = { CompileOptions options, String ver ->
+      if (!project.findProperty("java${ver}Home")) {
+        return
+      }
       if (ver == '8') {
         def java8Home = project.findProperty("java8Home")
         options.fork = true
@@ -1161,16 +1164,16 @@ class BeamModulePlugin implements Plugin<Project> {
         // If compiled on older SDK, compile with JDK configured with 
compatible javaXXHome
         // The order is intended here
         if (requireJavaVersion.compareTo(JavaVersion.VERSION_11) <= 0 &&
-        project.hasProperty('java11Home')) {
+        project.findProperty('java11Home')) {
           forkJavaVersion = '11'
         } else if (requireJavaVersion.compareTo(JavaVersion.VERSION_17) <= 0 &&
-        project.hasProperty('java17Home')) {
+        project.findProperty('java17Home')) {
           forkJavaVersion = '17'
         } else if (requireJavaVersion.compareTo(JavaVersion.VERSION_21) <= 0 &&
-        project.hasProperty('java21Home')) {
+        project.findProperty('java21Home')) {
           forkJavaVersion = '21'
         } else if (requireJavaVersion.compareTo(JavaVersion.VERSION_25) <= 0 &&
-        project.hasProperty('java25Home')) {
+        project.findProperty('java25Home')) {
           forkJavaVersion = '25'
         } else {
           logger.config("Module ${project.name} disabled. To enable, either " +
@@ -1628,7 +1631,7 @@ class BeamModulePlugin implements Plugin<Project> {
       }
       // if specified test java version, modify the compile and runtime 
versions accordingly
       if (['11', '17', '21', '25'].contains(testJavaVersion)) {
-        def testJavaHome = project.getProperty("java${testJavaVersion}Home")
+        def testJavaHome = project.findProperty("java${testJavaVersion}Home")
 
         // redirect java compiler to specified version for compileTestJava only
         project.tasks.compileTestJava {
@@ -2710,7 +2713,8 @@ class BeamModulePlugin implements Plugin<Project> {
 
       def pythonDir = project.project(":sdks:python").projectDir
       def usesDataflowRunner = 
config.pythonPipelineOptions.contains("--runner=TestDataflowRunner") || 
config.pythonPipelineOptions.contains("--runner=DataflowRunner")
-      def javaContainerSuffix = getSupportedJavaVersion()
+      String ver = project.findProperty('testJavaVersion')
+      def javaContainerSuffix = ver ? getSupportedJavaVersion(ver) : 
getSupportedJavaVersion()
 
       // Sets up, collects, and runs Python pipeline tests
       project.tasks.register(config.name+"PythonUsingJava") {
@@ -2790,7 +2794,8 @@ class BeamModulePlugin implements Plugin<Project> {
       ]
       def serviceArgs = 
project.project(':sdks:python').mapToArgString(expansionServiceOpts)
       def pythonContainerSuffix = 
project.project(':sdks:python').pythonVersion.replace('.', '')
-      def javaContainerSuffix = getSupportedJavaVersion()
+      String ver = project.findProperty('testJavaVersion')
+      def javaContainerSuffix = ver ? getSupportedJavaVersion(ver) : 
getSupportedJavaVersion()
       def setupTask = project.tasks.register(config.name+"Setup", Exec) {
         dependsOn ':sdks:java:container:'+javaContainerSuffix+':docker'
         dependsOn ':sdks:python:container:py'+pythonContainerSuffix+':docker'
@@ -2979,10 +2984,11 @@ class BeamModulePlugin implements Plugin<Project> {
       ]
       def serviceArgs = 
project.project(':sdks:python').mapToArgString(transformServiceOpts)
       def pythonContainerSuffix = 
project.project(':sdks:python').pythonVersion.replace('.', '')
-      def javaContainerSuffix = getSupportedJavaVersion()
+      String ver = project.findProperty('testJavaVersion')
+      def javaContainerSuffix = ver ? getSupportedJavaVersion(ver) : 
getSupportedJavaVersion()
 
       // Transform service delivers transforms that refer to SDK harness 
containers with following sufixes.
-      def transformServiceJavaContainerSuffix = 'java11'
+      def transformServiceJavaContainerSuffix = 'java17'
       def transformServicePythonContainerSuffix = pythonContainerSuffix
 
       def setupTask = project.tasks.register(config.name+"Setup", Exec) {
diff --git a/sdks/java/transform-service/controller-container/Dockerfile 
b/sdks/java/transform-service/controller-container/Dockerfile
index 8aca2d7fb7c..4efa7bdc42c 100644
--- a/sdks/java/transform-service/controller-container/Dockerfile
+++ b/sdks/java/transform-service/controller-container/Dockerfile
@@ -16,7 +16,7 @@
 # limitations under the License.
 ###############################################################################
 
-FROM eclipse-temurin:11
+FROM eclipse-temurin:17
 LABEL Author "Apache Beam <[email protected]>"
 ARG TARGETOS
 ARG TARGETARCH

Reply via email to