@@ -11,20 +11,30 @@ permissions:
1111 contents : write
1212 pull-requests : write
1313
14+ # DO NOT RESTORE CACHE for critical release steps to prevent a (extremely unlikely) scenario
15+ # where a supply chain attack could be achieved due to poisoned cache
1416jobs :
1517 check-code :
1618 runs-on : ubuntu-latest
1719 timeout-minutes : 30
1820 steps :
1921 - uses : actions/checkout@v5
20-
22+
2123 - name : Set up JDK
22- uses : actions/setup-java@v4
24+ uses : actions/setup-java@v5
2325 with :
2426 java-version : ' 17'
2527 distribution : ' temurin'
26- cache : ' maven'
27-
28+
29+ # Try to reuse existing cache from check-build
30+ - name : Try restore Maven Cache
31+ uses : actions/cache/restore@v4
32+ with :
33+ path : ~/.m2/repository
34+ key : ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
35+ restore-keys : |
36+ ${{ runner.os }}-mvn-build-
37+
2838 - name : Build with Maven
2939 run : ./mvnw -B clean package -T2C
3040
@@ -54,31 +64,31 @@ jobs:
5464 upload_url : ${{ steps.create-release.outputs.upload_url }}
5565 steps :
5666 - uses : actions/checkout@v5
57-
67+
5868 - name : Configure Git
5969 run : |
6070 git config --global user.email "actions@github.com"
6171 git config --global user.name "GitHub Actions"
62-
72+
6373 - name : Un-SNAP
6474 run : ./mvnw -B versions:set -DremoveSnapshot -DprocessAllModules -DgenerateBackupPoms=false
65-
75+
6676 - name : Get version
6777 id : version
6878 run : |
6979 version=$(../mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
7080 echo "release=$version" >> $GITHUB_OUTPUT
7181 echo "releasenumber=${version//[!0-9]/}" >> $GITHUB_OUTPUT
7282 working-directory : ${{ env.PRIMARY_MAVEN_MODULE }}
73-
83+
7484 - name : Commit and Push
7585 run : |
7686 git add -A
7787 git commit -m "Release ${{ steps.version.outputs.release }}"
7888 git push origin
7989 git tag v${{ steps.version.outputs.release }}
8090 git push origin --tags
81-
91+
8292 - name : Create Release
8393 id : create-release
8494 uses : shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1
@@ -106,23 +116,23 @@ jobs:
106116 timeout-minutes : 60
107117 steps :
108118 - uses : actions/checkout@v5
109-
119+
110120 - name : Init Git and pull
111121 run : |
112122 git config --global user.email "actions@github.com"
113123 git config --global user.name "GitHub Actions"
114124 git pull
115125
116126 - name : Set up JDK
117- uses : actions/setup-java@v4
127+ uses : actions/setup-java@v5
118128 with : # running setup-java overwrites the settings.xml
119129 distribution : ' temurin'
120130 java-version : ' 17'
121131 server-id : github-central
122132 server-password : PACKAGES_CENTRAL_TOKEN
123133 gpg-passphrase : MAVEN_GPG_PASSPHRASE
124134 gpg-private-key : ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
125-
135+
126136 - name : Publish to GitHub Packages Central
127137 run : ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
128138 working-directory : ${{ env.PRIMARY_MAVEN_MODULE }}
@@ -131,7 +141,7 @@ jobs:
131141 MAVEN_GPG_PASSPHRASE : ${{ secrets.MAVEN_GPG_PASSPHRASE }}
132142
133143 - name : Set up JDK
134- uses : actions/setup-java@v4
144+ uses : actions/setup-java@v5
135145 with : # running setup-java again overwrites the settings.xml
136146 distribution : ' temurin'
137147 java-version : ' 17'
@@ -154,19 +164,27 @@ jobs:
154164 timeout-minutes : 15
155165 steps :
156166 - uses : actions/checkout@v5
157-
167+
158168 - name : Init Git and pull
159169 run : |
160170 git config --global user.email "actions@github.com"
161171 git config --global user.name "GitHub Actions"
162172 git pull
163173
164174 - name : Setup - Java
165- uses : actions/setup-java@v4
175+ uses : actions/setup-java@v5
166176 with :
167177 java-version : ' 17'
168178 distribution : ' temurin'
169- cache : ' maven'
179+
180+ # Try to reuse existing cache from check-build
181+ - name : Try restore Maven Cache
182+ uses : actions/cache/restore@v4
183+ with :
184+ path : ~/.m2/repository
185+ key : ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
186+ restore-keys : |
187+ ${{ runner.os }}-mvn-build-
170188
171189 - name : Build site
172190 run : ../mvnw -B compile site -DskipTests -T2C
@@ -185,7 +203,7 @@ jobs:
185203 timeout-minutes : 10
186204 steps :
187205 - uses : actions/checkout@v5
188-
206+
189207 - name : Init Git and pull
190208 run : |
191209 git config --global user.email "actions@github.com"
@@ -200,7 +218,7 @@ jobs:
200218 git add -A
201219 git commit -m "Preparing for next development iteration"
202220 git push origin
203-
221+
204222 - name : pull-request
205223 env :
206224 GH_TOKEN : ${{ github.token }}
0 commit comments