chore(ci): use !cancelled() instead of always() for final job#496
Conversation
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) <[email protected]>
Greptile SummaryFixes the Confidence Score: 5/5Safe to merge — a single, well-understood CI behavioural fix with no code changes. The change is minimal and correct: No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "chore(ci): use !cancelled() instead of a..." | Re-trigger Greptile |
Summary
cancel-in-progressgroup,if: always()overrides cancellation and runs thefinalaggregator even on superseded commits.!cancelled()still runs on upstream success or failure but skips when the workflow is cancelled — saves a runner and avoids confusing error annotations on already-superseded shas.final-aggregator pattern +cancel-in-progress: truehere, so the same fix applies.Test plan
🤖 Generated with Claude Code
Note
Low Risk
Low risk workflow-only change that just prevents the
finalaggregator job from running on cancelled CI runs; it may affect required status reporting only in cancellation scenarios.Overview
Updates the CI workflow’s
finalaggregator job to run withif: ${{ !cancelled() }}instead ofalways(), so it still gates upstream success/failure but does not start when a run is cancelled (e.g., bycancel-in-progress). This avoids consuming runners and emitting status annotations on superseded commits.Reviewed by Cursor Bugbot for commit 7ae7997. Bugbot is set up for automated code reviews on this repo. Configure here.