2 Commits

Author SHA1 Message Date
Micheal Wilkinson
710fe049f5 docs: update changelog for pr validation fallbacks
Some checks failed
Pull Request Validation / validate (pull_request) Successful in 4m34s
Release / prepare (push) Failing after 4s
Push Validation / check-open-pr (push) Successful in 3s
Release / publish (push) Has been skipped
Push Validation / validate (push) Failing after 16s
2026-03-21 23:02:46 +00:00
Micheal Wilkinson
2294bb940b ci(pr-validation): harden decoration and summary fallback 2026-03-21 23:02:46 +00:00
2 changed files with 34 additions and 6 deletions

View File

@@ -189,7 +189,7 @@ jobs:
fi fi
- name: Decorate PR - 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 uses: https://git.hrafn.xyz/aether/vociferate/decorate-pr@v1.1.0
continue-on-error: true continue-on-error: true
with: with:
@@ -197,17 +197,43 @@ jobs:
badge-url: ${{ steps.badge.outputs.badge-url }} badge-url: ${{ steps.badge.outputs.badge-url }}
enable-changelog-gate: 'false' 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: | 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 '## Coverage'
echo echo
echo '- Total: `${{ steps.badge.outputs.total }}%`' echo "- Total: ${total}%"
echo '- Report: ${{ steps.badge.outputs.report-url }}' echo "- Report: ${report_url}"
echo '- Badge: ${{ steps.badge.outputs.badge-url }}' echo "- Badge: ${badge_url}"
echo echo
echo '### Package Coverage' echo '### Package Coverage'
if [[ -f coverage-packages.md ]]; then
cat coverage-packages.md cat coverage-packages.md
else
echo '_Package coverage details unavailable for this run._'
fi
} >> "$SUMMARY_FILE" } >> "$SUMMARY_FILE"
- name: Run behavior suite - name: Run behavior suite

View File

@@ -37,6 +37,8 @@ A `### Breaking` section is used in addition to Keep a Changelog's standard sect
- Push validation open-PR detection is now POSIX-shell compatible (no bash-only `pipefail`/array/`[[ ... ]]` usage), fixing failures on runners that execute `run` scripts with `/bin/sh`. - Push validation open-PR detection is now POSIX-shell compatible (no bash-only `pipefail`/array/`[[ ... ]]` usage), fixing failures on runners that execute `run` scripts with `/bin/sh`.
- PR validation now checks that `coverage.out` exists before invoking `coverage-badge`; when missing, badge upload is skipped with a summary note instead of failing the workflow. - PR validation now checks that `coverage.out` exists before invoking `coverage-badge`; when missing, badge upload is skipped with a summary note instead of failing the workflow.
- PR decoration is now `continue-on-error` to avoid hard-failing validation when the external `decorate-pr` action's internal extractor step is unavailable. - PR decoration is now `continue-on-error` to avoid hard-failing validation when the external `decorate-pr` action's internal extractor step is unavailable.
- PR validation now skips external PR decoration on non-GitHub runners and writes a summary note instead, avoiding runner-specific action resolution failures.
- Coverage summary generation is now resilient when badge outputs or `coverage-packages.md` are unavailable, preventing summary-step hard failures after earlier skips.
- README badge link target updated to `actions/runs/latest?workflow=...` format per workflow standards. - README badge link target updated to `actions/runs/latest?workflow=...` format per workflow standards.
- CI security scanning now uses GitHub Marketplace actions (`securego/gosec` and `golang/govulncheck-action`) instead of manual tool installation, improving reliability and caching. - CI security scanning now uses GitHub Marketplace actions (`securego/gosec` and `golang/govulncheck-action`) instead of manual tool installation, improving reliability and caching.
- CI setup compatibility fix: gosec scanner now references the correct public action source (`securego/gosec`), resolving action clone failures in Gitea runners. - CI setup compatibility fix: gosec scanner now references the correct public action source (`securego/gosec`), resolving action clone failures in Gitea runners.