Repository navigation
Restore pull request cancellation in pull.yml - #22609
Merged
Merged
Conversation
#21622 rolled the trunk-style concurrency key out to all 29 workflows to stop ciflow tag re-pushes flooding the fleet. On pull.yml that had a cost nobody noticed: `github.ref_type == 'branch'` is true on pull_request events too, and there `github.sha` is the merge commit, which changes with every push. So each push landed in a new group and cancel-in-progress stopped cancelling superseded runs. Before #21622 eight consecutive runs on one branch would show seven cancelled; after it, three full runs of this workflow overlap on a single branch and all go to completion. pytorch keeps the ref_name and ref_type variant on trunk.yml and periodic.yml, the tag-driven workflows, and keeps this simpler key on pull.yml. Same split here, with pull.yml's key now identical to theirs, including run_id on the dispatch term so two manual dispatches of the same ref no longer cancel each other. Dropping the ciflow/trunk tag trigger is what makes that key safe: with no tag push reaching this workflow there is nothing to fall back to github.sha for. The tag runs were also redundant, since every pull request already runs this workflow through pull_request. trunk.yml still triggers on ciflow/trunk. Authored with Claude Code.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/22609
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New Failure, 40 PendingAs of commit bf758ce with merge base 7dc8641 ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
Contributor
Author
|
cc @jathu |
shoumikhin
approved these changes
Sep 8, 2026
huydhn
added a commit
that referenced
this pull request
Sep 11, 2026
**Draft — needs an Exynos owner's agreement, since it changes when they get signal.** Both blocks move verbatim. They landed in `pull.yml` with the Exynos bring-up (#13677) as ordinary per-PR smoke tests next to the other backends', with no credentials and a 90 minute timeout. #15731 then added `secrets: inherit`, `SAMSUNG_AI_LITECORE_KEY` for the SDK download, timeouts of 180 and 360 minutes, and a fork skip because secrets aren't available there. That combination belongs in trunk: a six hour credentialed job on the pull request path costs every PR and silently does nothing for external contributors. In `trunk.yml` they run on main, on `ciflow/trunk`, and on pull requests touching `.ci/scripts/**` — which still covers `setup-samsung-linux-deps.sh`. The fork skip stays for that last case. Related: #22609 removes the `ciflow/trunk/*` trigger from `pull.yml`, which was these jobs' only route to run against a fork PR's code. Landing this makes that a non-issue, since the label-triggered run becomes intentional rather than a side effect. cc @Jiseong-oh
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two things, one enabling the other.
ciflow/trunk/*onpull.ymlis a mistake. It arrived in #18172, which moved the ARM Cortex-M size test fromtrunk.ymltopull.ymland carried trunk's tag trigger across with the job.ciflow/trunkshould runtrunk.yml;pull.ymlalready runs on every pull request viapull_request, so those tag runs were duplicates — on #22549 the tag run had 120 jobs against the pull request run's 121.trunk.ymlkeeps the trigger.With no tag push reaching this workflow, the concurrency key can go back to pytorch's. #21622 added
github.ref_type == 'branch' && github.shato stop ciflow tag re-pushes flooding the fleet, but that term is truthy onpull_requesttoo, wheregithub.shais the merge commit and changes with every push — so pushes stopped cancelling superseded runs. Before #21622: eight consecutive runs on one branch, seven cancelled. After: three overlapping full runs onbump-torch-pin-2.14, none cancelled. The key now matches pytorch'spull.ymlexactly,github.run_idincluded so two manual dispatches don't cancel each other.Authored with Claude Code.