@@ -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
2224 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 "[email protected] " 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,7 +116,7 @@ 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 "[email protected] " @@ -122,7 +132,7 @@ jobs:
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 }}
@@ -154,7 +164,7 @@ 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 "[email protected] " @@ -166,7 +176,15 @@ jobs:
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 "[email protected] " @@ -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