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