Add GitHub Actions for Maven setup, JUnit reporting, and build analysis with SonarCloud.

This commit is contained in:
2026-03-08 10:33:30 +01:00
parent 233c3988bc
commit d1e2a78f24
4 changed files with 142 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
name: Publish JUnit Report (Short Names)
description: Normalize JUnit XML report names and publish a summary-only test report.
inputs:
token:
description: GitHub token for creating the check run.
required: true
report-name:
description: Name shown for the test report.
required: false
default: Summary of JUnit Tests
runs:
using: composite
steps:
- name: Normalize JUnit report names
shell: bash
run: |
mkdir -p junit-short
shopt -s globstar nullglob
for f in **/target/*-reports/TEST-*.xml; do
base="$(basename "$f")"
short="${base#TEST-}"
short="${short%.xml}"
cp "$f" "junit-short/${short}"
done
- name: Publish Test Report
uses: dorny/test-reporter@v2
with:
token: ${{ inputs.token }}
name: ${{ inputs.report-name }}
path: "*"
reporter: java-junit
only-summary: true
working-directory: "junit-short"
@@ -0,0 +1,43 @@
name: "Setup Maven with GitHub Packages"
description: "Sets up JDK, caches Maven dependencies, and configures GitHub Packages for Maven repositories."
inputs:
java-version:
description: "Java version to install"
default: "17"
required: true
java-distribution:
description: "Java distribution to use"
default: "corretto"
runs:
using: "composite"
steps:
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
- name: Cache Maven Repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up Maven with GitHub Packages
run: |
echo "<settings>
<servers>
<server>
<id>github-cloudflaredns</id>
<username>th-schwarz</username>
<password>${{ secrets.GITHUB_TOKEN }}</password>
</server>
</servers>
</settings>" > ~/.m2/settings.xml
shell:
bash