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