ci: restore push on all branches, avoid duplicate runs#4665
ci: restore push on all branches, avoid duplicate runs#4665escapedcat merged 1 commit intomasterfrom
Conversation
Review Summary by QodoRestore push on all branches and add concurrency deduplication
WalkthroughsDescription• Restore push trigger to all branches for pre-PR CI visibility • Add concurrency group to cancel duplicate workflow runs • Prevent redundant CI execution on push and pull_request events Diagramflowchart LR
A["Push trigger"] -->|"changed from master only"| B["All branches **"]
C["Pull request trigger"] -->|"same branch"| D["Concurrency group"]
B -->|"deduplicate"| D
D -->|"cancel-in-progress"| E["Single workflow run"]
File Changes1. .github/workflows/CI.yml
|
Code Review by Qodo
1. Schedule run cancellations
|
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
There was a problem hiding this comment.
Pull request overview
Restores CI visibility for contributors by running the main CI workflow on pushes to any branch (not just master), and adds workflow-level concurrency to reduce duplicated CI runs when both push and pull_request triggers fire.
Changes:
- Expand
pushtrigger to all branches ("**"). - Add a
concurrencygroup withcancel-in-progress: trueto cancel duplicate in-flight runs per branch.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
40f5fd4 to
e0a8759
Compare
Reverts the push trigger from `master`-only back to `"**"` (all branches) so contributors can see CI status on their fork branches before opening a PR (see #3840). To avoid duplicate CI runs when a maintainer pushes to a branch that has an open PR (both push and pull_request triggers fire), each job now has an `if` condition that skips pull_request runs from the same repository. This is the same approach used by Vue.js (vuejs/core): - Push events: always run - Pull request events: only run if the PR is from a fork - Schedule/workflow_dispatch: always run This avoids the "50% broken CI" visual noise caused by concurrency groups cancelling push runs, since GitHub shows cancelled jobs as failures. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
e0a8759 to
e0a545e
Compare
|
Interesting approach, but given that you're adding this |
Assuming that's what you meant with L7 |
Reverts the push trigger from
master-only back to"**"(all branches) socontributors can see CI status on their fork branches before opening a PR
(reverts part of #4660, restores #3840).
To avoid duplicate CI runs when a maintainer pushes to a branch with an open
PR, each job skips
pull_requestevents from the same repository — the sameapproach used by Vue.js:
This avoids the "50% broken CI" visual noise that concurrency groups cause
(cancelled jobs show as failures in the GitHub UI).