From 2294bb940b41d67fb11f1716b7e67bc3796e7b9b Mon Sep 17 00:00:00 2001 From: Micheal Wilkinson Date: Sat, 21 Mar 2026 23:02:46 +0000 Subject: [PATCH] ci(pr-validation): harden decoration and summary fallback --- .gitea/workflows/pr-validation.yml | 38 +++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/pr-validation.yml b/.gitea/workflows/pr-validation.yml index e818122..a81a1b1 100644 --- a/.gitea/workflows/pr-validation.yml +++ b/.gitea/workflows/pr-validation.yml @@ -189,7 +189,7 @@ jobs: fi - name: Decorate PR - if: ${{ always() }} + if: ${{ always() && github.server_url == 'https://github.com' && steps.badge.outcome == 'success' }} uses: https://git.hrafn.xyz/aether/vociferate/decorate-pr@v1.1.0 continue-on-error: true with: @@ -197,17 +197,43 @@ jobs: badge-url: ${{ steps.badge.outputs.badge-url }} enable-changelog-gate: 'false' - - name: Add coverage summary + - name: Skip external PR decoration on non-GitHub runners + if: ${{ always() && github.server_url != 'https://github.com' }} run: | + set -euo pipefail + echo "Skipping decorate-pr action on ${GITHUB_SERVER_URL}; external composite action is not stable on this runner." >> "$GITHUB_STEP_SUMMARY" + + - name: Add coverage summary + if: ${{ always() }} + run: | + set -euo pipefail + total="${{ steps.badge.outputs.total }}" + report_url="${{ steps.badge.outputs.report-url }}" + badge_url="${{ steps.badge.outputs.badge-url }}" + + if [[ -z "$total" ]]; then + total="n/a" + fi + if [[ -z "$report_url" ]]; then + report_url="n/a" + fi + if [[ -z "$badge_url" ]]; then + badge_url="n/a" + fi + { echo '## Coverage' echo - echo '- Total: `${{ steps.badge.outputs.total }}%`' - echo '- Report: ${{ steps.badge.outputs.report-url }}' - echo '- Badge: ${{ steps.badge.outputs.badge-url }}' + echo "- Total: ${total}%" + echo "- Report: ${report_url}" + echo "- Badge: ${badge_url}" echo echo '### Package Coverage' - cat coverage-packages.md + if [[ -f coverage-packages.md ]]; then + cat coverage-packages.md + else + echo '_Package coverage details unavailable for this run._' + fi } >> "$SUMMARY_FILE" - name: Run behavior suite