60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
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@v3
|
|
with:
|
|
name: ${{ inputs.report-name }}
|
|
path: "*"
|
|
reporter: java-junit
|
|
only-summary: true
|
|
working-directory: "junit-short"
|
|
use-actions-summary: true
|
|
token: ${{ inputs.token }}
|
|
|
|
- name: Generate HTML Report
|
|
shell: bash
|
|
run: |
|
|
pip install junit2html --quiet
|
|
mkdir -p reports
|
|
junit2html junit-short/*.xml reports/index.html
|
|
|
|
- name: Commit Report to Repo
|
|
shell: bash
|
|
env:
|
|
GIT_USER: gitea-actions-bot
|
|
GIT_EMAIL: osp@thischwa.codes
|
|
GITEA_TOKEN: ${{ secrets.REPORT_TOKEN }}
|
|
run: |
|
|
git config user.name "$GIT_USER"
|
|
git config user.email "$GIT_EMAIL"
|
|
git remote set-url origin https://$GIT_USER:$GITEA_TOKEN@git.mein-gateway.de/${{ github.repository }}.git
|
|
git fetch origin
|
|
git checkout ${{ github.ref_name }}
|
|
git add reports/
|
|
git diff --cached --quiet && echo "No changes" && exit 0
|
|
git commit -m "ci: update test report [skip ci]"
|
|
git push origin ${{ github.ref_name }} |