2020 - ' assets/**'
2121
2222env :
23- PRIMARY_MAVEN_MODULE : ${{ github.event.repository.name }}
2423 DEMO_MAVEN_MODULE : ${{ github.event.repository.name }}-demo
2524
2625jobs :
2726 build :
2827 runs-on : ubuntu-latest
2928 timeout-minutes : 30
30-
3129 strategy :
3230 matrix :
33- java : [17, 21]
31+ java : [17, 21, 25 ]
3432 distribution : [temurin]
35-
3633 steps :
37- - uses : actions/checkout@v4
38-
34+ - uses : actions/checkout@v6
35+
3936 - name : Set up JDK
40- uses : actions/setup-java@v4
37+ uses : actions/setup-java@v5
4138 with :
4239 distribution : ${{ matrix.distribution }}
4340 java-version : ${{ matrix.java }}
44- cache : ' maven'
45-
41+
42+ - name : Cache Maven
43+ uses : actions/cache@v5
44+ with :
45+ path : ~/.m2/repository
46+ key : ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
47+ restore-keys : |
48+ ${{ runner.os }}-mvn-build-
49+
4650 - name : Build with Maven
4751 run : ./mvnw -B clean package
48-
52+
4953 - name : Check for uncommited changes
5054 run : |
5155 if [[ "$(git status --porcelain)" != "" ]]; then
6569 fi
6670
6771 - name : Upload demo files
68- uses : actions/upload-artifact@v4
72+ uses : actions/upload-artifact@v6
6973 with :
7074 name : demo-files-java-${{ matrix.java }}
7175 path : ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar
@@ -75,21 +79,34 @@ jobs:
7579 runs-on : ubuntu-latest
7680 if : ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
7781 timeout-minutes : 15
78-
7982 strategy :
8083 matrix :
8184 java : [17]
8285 distribution : [temurin]
83-
8486 steps :
85- - uses : actions/checkout@v4
86-
87+ - uses : actions/checkout@v6
88+
8789 - name : Set up JDK
88- uses : actions/setup-java@v4
90+ uses : actions/setup-java@v5
8991 with :
9092 distribution : ${{ matrix.distribution }}
9193 java-version : ${{ matrix.java }}
92- cache : ' maven'
94+
95+ - name : Cache Maven
96+ uses : actions/cache@v5
97+ with :
98+ path : ~/.m2/repository
99+ key : ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
100+ restore-keys : |
101+ ${{ runner.os }}-mvn-checkstyle-
102+
103+ - name : CheckStyle Cache
104+ uses : actions/cache@v5
105+ with :
106+ path : ' **/target/checkstyle-cachefile'
107+ key : ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
108+ restore-keys : |
109+ ${{ runner.os }}-checkstyle-
93110
94111 - name : Run Checkstyle
95112 run : ./mvnw -B checkstyle:check -P checkstyle -T2C
@@ -98,28 +115,41 @@ jobs:
98115 runs-on : ubuntu-latest
99116 if : ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
100117 timeout-minutes : 15
101-
102118 strategy :
103119 matrix :
104120 java : [17]
105121 distribution : [temurin]
106-
107122 steps :
108- - uses : actions/checkout@v4
123+ - uses : actions/checkout@v6
109124
110125 - name : Set up JDK
111- uses : actions/setup-java@v4
126+ uses : actions/setup-java@v5
112127 with :
113128 distribution : ${{ matrix.distribution }}
114129 java-version : ${{ matrix.java }}
115- cache : ' maven'
130+
131+ - name : Cache Maven
132+ uses : actions/cache@v5
133+ with :
134+ path : ~/.m2/repository
135+ key : ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
136+ restore-keys : |
137+ ${{ runner.os }}-mvn-pmd-
138+
139+ - name : PMD Cache
140+ uses : actions/cache@v5
141+ with :
142+ path : ' **/target/pmd/pmd.cache'
143+ key : ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
144+ restore-keys : |
145+ ${{ runner.os }}-pmd-
116146
117147 - name : Run PMD
118148 run : ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C
119149
120150 - name : Upload report
121151 if : always()
122- uses : actions/upload-artifact@v4
152+ uses : actions/upload-artifact@v6
123153 with :
124154 name : pmd-report
125155 if-no-files-found : ignore
@@ -130,12 +160,12 @@ jobs:
130160 runs-on : ubuntu-latest
131161
132162 steps :
133- - uses : actions/checkout@v4
163+ - uses : actions/checkout@v5
134164
135165 - name : Install Node.js
136- uses : actions/setup-node@v4
166+ uses : actions/setup-node@v6
137167 with :
138- node-version : 18
168+ node-version : 24
139169
140170 - name : Install Antora and the Antora Lunr Extension
141171 run : npm i antora @antora/lunr-extension
0 commit comments