Add coverage reporting/badges and split CI between Gitea and GitHub (#5)
Merge dotnet+jest coverage via reportgenerator, publish a self-hosted coverage badge and build-status badges on the readme. Gitea remains the full pipeline (build/test/docker push/deploy-qa/smoke); GitHub only builds and tests since it has no registry secrets or qa runner. Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
32
scripts/ci/coverage.sh
Executable file
32
scripts/ci/coverage.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Merges the .NET (coverlet/Cobertura) and admin (Jest/lcov) coverage output
|
||||
# produced by test.sh into one report via reportgenerator, prints a summary,
|
||||
# appends a build-report summary when running under Actions, and refreshes
|
||||
# the coverage badge committed at badges/coverage.svg. Readme embeds that
|
||||
# badge via a relative path, which resolves on both GitHub and Gitea since
|
||||
# the same repo content is pushed to both remotes.
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" && source ./lib.sh
|
||||
cd "$CI_ROOT"
|
||||
|
||||
ensure_dotnet
|
||||
ensure_reportgenerator
|
||||
|
||||
REPORT_DIR="$CI_ROOT/coverage/report"
|
||||
|
||||
log "Merging coverage reports with reportgenerator"
|
||||
reportgenerator \
|
||||
-reports:"coverage/dotnet/**/coverage.cobertura.xml;src/admin/coverage/lcov.info" \
|
||||
-targetdir:"$REPORT_DIR" \
|
||||
-reporttypes:"Badges;MarkdownSummaryGithub;TextSummary"
|
||||
|
||||
cat "$REPORT_DIR/Summary.txt"
|
||||
|
||||
if [[ -n "${GITHUB_STEP_SUMMARY:-}" ]]; then
|
||||
cat "$REPORT_DIR/SummaryGithub.md" >> "$GITHUB_STEP_SUMMARY"
|
||||
fi
|
||||
|
||||
mkdir -p "$CI_ROOT/badges"
|
||||
cp "$REPORT_DIR/badge_linecoverage.svg" "$CI_ROOT/badges/coverage.svg"
|
||||
|
||||
log "coverage.sh complete"
|
||||
Reference in New Issue
Block a user