chore(ci): use !cancelled() instead of always() for final job

Combined with the workflow's `cancel-in-progress` group, `if: always()`
overrides cancellation and runs the aggregator even on superseded
commits. `!cancelled()` still runs on upstream success or failure but
skips when the workflow is cancelled.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
jdx 2026-05-03 15:22:33 +00:00
parent b9e293457e
commit 4c62d5f2f1
No known key found for this signature in database
GPG key ID: 584DADE86724B407

View file

@ -156,7 +156,9 @@ jobs:
- fetch_from_github
runs-on: ubuntu-latest
timeout-minutes: 1
if: always()
# Run on success or upstream failure but skip when the workflow is cancelled
# — `always()` would override `cancel-in-progress` and waste a runner.
if: ${{ !cancelled() }}
steps:
- name: Check CI job results
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')