Skip to content

Commit 2c68785

Browse files
committed
Merge remote-tracking branch 'origin/update-from-template' into develop
2 parents 68be234 + 477861a commit 2c68785

File tree

18 files changed

+1126
-109
lines changed

18 files changed

+1126
-109
lines changed

.config/pmd/java/ruleset.xml

Lines changed: 877 additions & 3 deletions
Large diffs are not rendered by default.

.github/workflows/broken-links.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@ jobs:
1313
runs-on: ubuntu-latest
1414
timeout-minutes: 15
1515
steps:
16-
- uses: actions/checkout@v4
16+
- uses: actions/checkout@v5
1717

1818
- run: mv .github/.lycheeignore .lycheeignore
1919

2020
- name: Link Checker
2121
id: lychee
22-
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2
22+
uses: lycheeverse/lychee-action@885c65f3dc543b57c898c8099f4e08c8afd178a2 # v2
2323
with:
2424
fail: false # Don't fail on broken links, create an issue instead
2525

2626
- name: Find already existing issue
2727
id: find-issue
2828
run: |
29-
echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title \"Link Checker Report\"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT
29+
echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title "Link Checker Report"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT
3030
env:
3131
GH_TOKEN: ${{ github.token }}
32-
32+
3333
- name: Close issue if everything is fine
3434
if: steps.lychee.outputs.exit_code == 0 && steps.find-issue.outputs.number != ''
3535
run: gh issue close -r 'not planned' ${{ steps.find-issue.outputs.number }}
@@ -38,7 +38,7 @@ jobs:
3838

3939
- name: Create Issue From File
4040
if: steps.lychee.outputs.exit_code != 0
41-
uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5
41+
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6
4242
with:
4343
issue-number: ${{ steps.find-issue.outputs.number }}
4444
title: Link Checker Report

.github/workflows/check-build.yml

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,30 @@ jobs:
2323
build:
2424
runs-on: ubuntu-latest
2525
timeout-minutes: 30
26-
2726
strategy:
2827
matrix:
29-
java: [17, 21]
28+
java: [17, 21, 25]
3029
distribution: [temurin]
31-
3230
steps:
33-
- uses: actions/checkout@v4
34-
31+
- uses: actions/checkout@v5
32+
3533
- name: Set up JDK
36-
uses: actions/setup-java@v4
34+
uses: actions/setup-java@v5
3735
with:
3836
distribution: ${{ matrix.distribution }}
3937
java-version: ${{ matrix.java }}
40-
cache: 'maven'
41-
38+
39+
- name: Cache Maven
40+
uses: actions/cache@v4
41+
with:
42+
path: ~/.m2/repository
43+
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
44+
restore-keys: |
45+
${{ runner.os }}-mvn-build-
46+
4247
- name: Build with Maven
4348
run: ./mvnw -B clean package
44-
49+
4550
- name: Check for uncommited changes
4651
run: |
4752
if [[ "$(git status --porcelain)" != "" ]]; then
@@ -64,21 +69,34 @@ jobs:
6469
runs-on: ubuntu-latest
6570
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
6671
timeout-minutes: 15
67-
6872
strategy:
6973
matrix:
7074
java: [17]
7175
distribution: [temurin]
72-
7376
steps:
74-
- uses: actions/checkout@v4
75-
77+
- uses: actions/checkout@v5
78+
7679
- name: Set up JDK
77-
uses: actions/setup-java@v4
80+
uses: actions/setup-java@v5
7881
with:
7982
distribution: ${{ matrix.distribution }}
8083
java-version: ${{ matrix.java }}
81-
cache: 'maven'
84+
85+
- name: Cache Maven
86+
uses: actions/cache@v4
87+
with:
88+
path: ~/.m2/repository
89+
key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }}
90+
restore-keys: |
91+
${{ runner.os }}-mvn-checkstyle-
92+
93+
- name: CheckStyle Cache
94+
uses: actions/cache@v4
95+
with:
96+
path: '**/target/checkstyle-cachefile'
97+
key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }}
98+
restore-keys: |
99+
${{ runner.os }}-checkstyle-
82100
83101
- name: Run Checkstyle
84102
run: ./mvnw -B checkstyle:check -P checkstyle -T2C
@@ -87,21 +105,34 @@ jobs:
87105
runs-on: ubuntu-latest
88106
if: ${{ github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/') }}
89107
timeout-minutes: 15
90-
91108
strategy:
92109
matrix:
93110
java: [17]
94111
distribution: [temurin]
95-
96112
steps:
97-
- uses: actions/checkout@v4
113+
- uses: actions/checkout@v5
98114

99115
- name: Set up JDK
100-
uses: actions/setup-java@v4
116+
uses: actions/setup-java@v5
101117
with:
102118
distribution: ${{ matrix.distribution }}
103119
java-version: ${{ matrix.java }}
104-
cache: 'maven'
120+
121+
- name: Cache Maven
122+
uses: actions/cache@v4
123+
with:
124+
path: ~/.m2/repository
125+
key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }}
126+
restore-keys: |
127+
${{ runner.os }}-mvn-pmd-
128+
129+
- name: PMD Cache
130+
uses: actions/cache@v4
131+
with:
132+
path: '**/target/pmd/pmd.cache'
133+
key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }}
134+
restore-keys: |
135+
${{ runner.os }}-pmd-
105136
106137
- name: Run PMD
107138
run: ./mvnw -B test pmd:aggregate-pmd-no-fork pmd:check -P pmd -DskipTests -T2C

.github/workflows/release.yml

Lines changed: 42 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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
1416
jobs:
1517
check-code:
1618
runs-on: ubuntu-latest
1719
timeout-minutes: 30
1820
steps:
19-
- uses: actions/checkout@v4
20-
21+
- uses: actions/checkout@v5
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

@@ -53,35 +63,35 @@ jobs:
5363
outputs:
5464
upload_url: ${{ steps.create-release.outputs.upload_url }}
5565
steps:
56-
- uses: actions/checkout@v4
57-
66+
- uses: actions/checkout@v5
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
84-
uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1
94+
uses: shogo82148/actions-create-release@7b89596097b26731bda0852f1504f813499079ee # v1
8595
with:
8696
tag_name: v${{ steps.version.outputs.release }}
8797
release_name: v${{ steps.version.outputs.release }}
@@ -103,24 +113,24 @@ jobs:
103113
needs: [prepare-release]
104114
timeout-minutes: 60
105115
steps:
106-
- uses: actions/checkout@v4
107-
116+
- uses: actions/checkout@v5
117+
108118
- name: Init Git and pull
109119
run: |
110120
git config --global user.email "actions@github.com"
111121
git config --global user.name "GitHub Actions"
112122
git pull
113123
114124
- name: Set up JDK
115-
uses: actions/setup-java@v4
125+
uses: actions/setup-java@v5
116126
with: # running setup-java overwrites the settings.xml
117127
distribution: 'temurin'
118128
java-version: '17'
119129
server-id: github-central
120130
server-password: PACKAGES_CENTRAL_TOKEN
121131
gpg-passphrase: MAVEN_GPG_PASSPHRASE
122132
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
123-
133+
124134
- name: Publish to GitHub Packages Central
125135
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
126136
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
@@ -129,7 +139,7 @@ jobs:
129139
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
130140

131141
- name: Set up JDK
132-
uses: actions/setup-java@v4
142+
uses: actions/setup-java@v5
133143
with: # running setup-java again overwrites the settings.xml
134144
distribution: 'temurin'
135145
java-version: '17'
@@ -151,20 +161,28 @@ jobs:
151161
needs: [prepare-release]
152162
timeout-minutes: 15
153163
steps:
154-
- uses: actions/checkout@v4
155-
164+
- uses: actions/checkout@v5
165+
156166
- name: Init Git and pull
157167
run: |
158168
git config --global user.email "actions@github.com"
159169
git config --global user.name "GitHub Actions"
160170
git pull
161171
162172
- name: Setup - Java
163-
uses: actions/setup-java@v4
173+
uses: actions/setup-java@v5
164174
with:
165175
java-version: '17'
166176
distribution: 'temurin'
167-
cache: 'maven'
177+
178+
# Try to reuse existing cache from check-build
179+
- name: Try restore Maven Cache
180+
uses: actions/cache/restore@v4
181+
with:
182+
path: ~/.m2/repository
183+
key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }}
184+
restore-keys: |
185+
${{ runner.os }}-mvn-build-
168186
169187
- name: Build site
170188
run: ../mvnw -B compile site -DskipTests -T2C
@@ -182,8 +200,8 @@ jobs:
182200
needs: [publish-maven]
183201
timeout-minutes: 10
184202
steps:
185-
- uses: actions/checkout@v4
186-
203+
- uses: actions/checkout@v5
204+
187205
- name: Init Git and pull
188206
run: |
189207
git config --global user.email "actions@github.com"
@@ -198,7 +216,7 @@ jobs:
198216
git add -A
199217
git commit -m "Preparing for next development iteration"
200218
git push origin
201-
219+
202220
- name: pull-request
203221
env:
204222
GH_TOKEN: ${{ github.token }}

.github/workflows/sync-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
timeout-minutes: 10
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v5
2020
with:
2121
sparse-checkout: .github/labels.yml
2222

.github/workflows/test-deploy.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@ jobs:
1111
runs-on: ubuntu-latest
1212
timeout-minutes: 60
1313
steps:
14-
- uses: actions/checkout@v4
14+
- uses: actions/checkout@v5
1515

1616
- name: Set up JDK
17-
uses: actions/setup-java@v4
17+
uses: actions/setup-java@v5
1818
with: # running setup-java overwrites the settings.xml
1919
distribution: 'temurin'
2020
java-version: '17'
2121
server-id: github-central
2222
server-password: PACKAGES_CENTRAL_TOKEN
2323
gpg-passphrase: MAVEN_GPG_PASSPHRASE
2424
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once
25-
25+
2626
- name: Publish to GitHub Packages Central
2727
run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central
2828
working-directory: ${{ env.PRIMARY_MAVEN_MODULE }}
2929
env:
3030
PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }}
3131
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
32-
32+
3333
- name: Set up JDK
34-
uses: actions/setup-java@v4
34+
uses: actions/setup-java@v5
3535
with: # running setup-java again overwrites the settings.xml
3636
distribution: 'temurin'
3737
java-version: '17'

0 commit comments

Comments
 (0)