77 workflow_dispatch :
88
99jobs :
10+ generate-matrix :
11+ runs-on : ubuntu-latest
12+ outputs :
13+ matrix : ${{ steps.set-matrix.outputs.matrix }}
14+ steps :
15+ - uses : actions/checkout@v4
16+ - name : Read matrix from JSON
17+ id : set-matrix
18+ run : |
19+ MATRIX=$(jq -c '.matrix' .github/spring-versions.json)
20+ echo "matrix={\"include\":$MATRIX}" >> $GITHUB_OUTPUT
21+
22+ regression-tests :
23+ needs : generate-matrix
24+ runs-on : ubuntu-latest
25+ strategy :
26+ fail-fast : false
27+ matrix : ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
28+ name : Test with Java ${{ matrix.java }} / Spring Boot ${{ matrix.boot }}
29+ steps :
30+ - name : Checkout code
31+ uses : actions/checkout@v4
32+ with :
33+ fetch-depth : 0
34+
35+ - name : Setup Java
36+ uses : actions/setup-java@v4
37+ with :
38+ distribution : temurin
39+ java-version : ${{ matrix.java }}
40+
41+ - name : Run tests and generate reports
42+ run : ./gradlew testAndReport -PspringBootVersion=${{ matrix.boot }} -PspringFrameworkVersion=${{ matrix.framework }}
43+
44+ - name : Upload Artifact
45+ uses : actions/upload-artifact@v4
46+ if : always()
47+ with :
48+ name : report-java-${{ matrix.java }}-spring-boot-${{ matrix.boot }}
49+ path : build/reports/**
50+ retention-days : 5
51+
52+ # todo kirjutada readme ka, mis põhimõttel asi toimib ning kuidas uuendada + kuidas testida erinevaid SP versioone
53+
1054 test :
1155 runs-on : ubuntu-latest
1256 strategy :
1357 fail-fast : false
1458 matrix :
1559 java : [ '17', '21' ]
16- spring-boot-version : ['3.0.13', '3.1.12', '3.2.12', '3.3.12', '3.4.6', '3.5.0']
17- name : Test with Java ${{ matrix.Java }} / Spring Boot ${{ matrix.spring-boot-version }}
60+ name : Test with latest version of Spring Boot and Java ${{ matrix.java }}
1861 steps :
1962 - name : Checkout code
2063 uses : actions/checkout@v4
@@ -27,23 +70,19 @@ jobs:
2770 distribution : temurin
2871 java-version : ${{ matrix.java }}
2972
30- - name : Update Spring Boot version
31- run : |
32- ./gradlew useSpringBootVersion -PspringBootVersion=${{ matrix.spring-boot-version }}
33-
3473 - name : Run tests and generate reports
3574 run : ./gradlew testAndReport
3675
3776 - name : Upload Artifact
3877 uses : actions/upload-artifact@v4
3978 if : always()
4079 with :
41- name : report-java-${{ matrix.java }}-${{ matrix.spring-boot-version }}
80+ name : report-java-${{ matrix.java }}
4281 path : build/reports/**
4382 retention-days : 5
4483
4584 - name : Run Sonar analysis
46- if : matrix.java == '17' && matrix.spring-boot-version == '3.5.0'
85+ if : matrix.java == '17'
4786 env :
4887 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4988 SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
0 commit comments