From fdc2cbb1939697e7d9a220ac76dbb18e0b97ca44 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 19:00:39 +0000
Subject: [PATCH 1/4] Extract Spring tests into separate GitHub Action with JVM
17, 21, 25, 26
Agent-Logs-Url: https://github.com/kubernetes-client/java/sessions/b2966337-ec6d-44c0-a872-161cd06f39ca
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
---
.github/workflows/maven.yml | 3 ++-
.github/workflows/spring.yml | 46 ++++++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 1 deletion(-)
create mode 100644 .github/workflows/spring.yml
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 97521cdd5f..48c990051f 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -64,9 +64,10 @@ jobs:
- name: Build with Maven
shell: bash
run: |
+ # spring and spring-aot are tested in a dedicated workflow (spring.yml)
+ MODS_OVERRIDES='-pl !spring,!spring-aot'
if [ $(grep -E '^(8|11)\.' <<< '${{ matrix.java }}') ]; then
# some module doesn't compile on java platform lower than 17, need to skip them by specifying a profile
- MODS_OVERRIDES='-pl !spring,!spring-aot'
EXCLUDED_EXAMPLE_MODULES=`ls examples | grep examples | xargs -I {} echo '!examples/{}' | tr '\n' ',' | sed 's/.$//'`
MODS_OVERRIDES=$MODS_OVERRIDES,$EXCLUDED_EXAMPLE_MODULES
fi
diff --git a/.github/workflows/spring.yml b/.github/workflows/spring.yml
new file mode 100644
index 0000000000..d1f481e88a
--- /dev/null
+++ b/.github/workflows/spring.yml
@@ -0,0 +1,46 @@
+# This workflow runs Spring module tests across multiple JVM versions
+name: spring
+
+on:
+ push:
+ branches: [ "master", "master-java8", "release-**" ]
+ paths:
+ - 'spring/**'
+ - 'spring-aot/**'
+ - '**/pom.xml'
+ - '.mvn/**'
+ - 'mvnw'
+ - 'mvnw.cmd'
+ - '.github/workflows/spring.yml'
+ pull_request:
+ branches: [ "master", "master-java8", "release-**" ]
+ paths:
+ - 'spring/**'
+ - 'spring-aot/**'
+ - '**/pom.xml'
+ - '.mvn/**'
+ - 'mvnw'
+ - 'mvnw.cmd'
+ - '.github/workflows/spring.yml'
+
+jobs:
+ spring-tests:
+ name: Spring Tests on Java ${{ matrix.java }}
+ strategy:
+ matrix:
+ java: [ 17, 21, 25, 26 ]
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ - name: Setup Java
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.java }}
+ - name: Cache local Maven repository
+ uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-spring-${{ matrix.java }}-${{ hashFiles('pom.xml', '**/pom.xml') }}
+ - name: Build Spring modules with Maven
+ run: ./mvnw -q -B --define=org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -pl spring,spring-aot -am clean test
From 20cded584e496212e51b6998e00d3e4e7eb124e1 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 20:11:21 +0000
Subject: [PATCH 2/4] Exclude spring/** and spring-aot/** paths from maven.yml
trigger
Agent-Logs-Url: https://github.com/kubernetes-client/java/sessions/fd74cf44-6033-4e71-9ff7-74e6fdc7696a
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
---
.github/workflows/maven.yml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 48c990051f..eebf6058bc 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -16,6 +16,8 @@ on:
- 'client-java-contrib/Dockerfile'
- 'e2e/**/*.yaml'
- '.github/workflows/maven.yml'
+ - '!spring/**'
+ - '!spring-aot/**'
pull_request:
branches: [ "master", "master-java8", "release-**" ]
paths:
@@ -28,6 +30,8 @@ on:
- 'client-java-contrib/Dockerfile'
- 'e2e/**/*.yaml'
- '.github/workflows/maven.yml'
+ - '!spring/**'
+ - '!spring-aot/**'
jobs:
verify-format:
From 731aacd8e667673d29f2fce2e69eb10e844ac789 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 21:07:56 +0000
Subject: [PATCH 3/4] Also exclude examples/examples-release-latest from
general build (depends on spring)
Agent-Logs-Url: https://github.com/kubernetes-client/java/sessions/e113ac4b-edcb-4203-8fb4-643c8f72c0ee
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
---
.github/workflows/maven.yml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index eebf6058bc..ed003267de 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -69,7 +69,8 @@ jobs:
shell: bash
run: |
# spring and spring-aot are tested in a dedicated workflow (spring.yml)
- MODS_OVERRIDES='-pl !spring,!spring-aot'
+ # examples/examples-release-latest depends on spring so must also be excluded
+ MODS_OVERRIDES='-pl !spring,!spring-aot,!examples/examples-release-latest'
if [ $(grep -E '^(8|11)\.' <<< '${{ matrix.java }}') ]; then
# some module doesn't compile on java platform lower than 17, need to skip them by specifying a profile
EXCLUDED_EXAMPLE_MODULES=`ls examples | grep examples | xargs -I {} echo '!examples/{}' | tr '\n' ',' | sed 's/.$//'`
From 7c72df5741ae1e9c658b50b6618a7f3cf7c64f62 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 1 May 2026 15:24:04 +0000
Subject: [PATCH 4/4] Update Spring Boot to 3.5.3 and Spring Framework to 6.2.8
Agent-Logs-Url: https://github.com/kubernetes-client/java/sessions/1b4aa191-ad5d-4e12-89af-e50ece7b9e09
Co-authored-by: brendandburns <5751682+brendandburns@users.noreply.github.com>
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index 901208a4ee..d57459d93c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,8 +69,8 @@
1.28.0
2.22.0
1.22.0
- 4.0.6
- 6.2.12
+ 3.5.3
+ 6.2.8
0.16.0
0.10.2