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.
31 lines
1.4 KiB
Bash
Executable File
31 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Commits the coverage badge refreshed by coverage.sh straight back to the
|
|
# branch that triggered this run, so readme.md's relative badges/coverage.svg
|
|
# link stays current. GITHUB_SERVER_URL/GITHUB_REPOSITORY/GITHUB_REF_NAME are
|
|
# default context env vars on both GitHub Actions and Gitea Actions (Gitea's
|
|
# engine is GitHub-Actions-compatible); GITHUB_TOKEN must be passed in
|
|
# explicitly from the workflow (${{ github.token }}) on both platforms.
|
|
set -euo pipefail
|
|
cd "$(dirname "${BASH_SOURCE[0]}")" && source ./lib.sh
|
|
cd "$CI_ROOT"
|
|
|
|
[[ -n "${GITHUB_TOKEN:-}" ]] || fail "GITHUB_TOKEN env var is required to push the badge commit"
|
|
[[ -n "${GITHUB_SERVER_URL:-}" ]] || fail "GITHUB_SERVER_URL env var is required to push the badge commit"
|
|
[[ -n "${GITHUB_REPOSITORY:-}" ]] || fail "GITHUB_REPOSITORY env var is required to push the badge commit"
|
|
[[ -n "${GITHUB_REF_NAME:-}" ]] || fail "GITHUB_REF_NAME env var is required to push the badge commit"
|
|
|
|
if git diff --quiet -- badges/coverage.svg; then
|
|
log "badges/coverage.svg unchanged; nothing to publish"
|
|
exit 0
|
|
fi
|
|
|
|
git config user.name "miccheck-ci"
|
|
git config user.email "ci@miccheck.local"
|
|
git add badges/coverage.svg
|
|
git commit -m "chore: refresh coverage badge [skip ci]"
|
|
|
|
remote_url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
|
|
git -c http.extraheader="AUTHORIZATION: bearer ${GITHUB_TOKEN}" push "$remote_url" "HEAD:${GITHUB_REF_NAME}"
|
|
|
|
log "publish-coverage-badge.sh complete"
|