diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 97521cdd5f..ed003267de 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:
@@ -64,9 +68,11 @@ jobs:
- name: Build with Maven
shell: bash
run: |
+ # spring and spring-aot are tested in a dedicated workflow (spring.yml)
+ # 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
- 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
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