Stacked PR checks unrelated to the topmost PR are skipped
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 50/100
Research direction
Start by tracing how CI workflows are selected for a published stack and reproduce the issue with two stacked PRs that affect unrelated repository areas. Done means each PR in the stack runs workflows relevant to its own changes, including lower PRs when the topmost PR does not trigger them.
Written by the indexing model from the issue text.
Description
What happened
For a stack of pull requests, CI workflows are skipped when they are unrelated to the topmost PR in the stack, even if they are relevant to a lower PR.
Reproduction
- Configure separate CI workflows that run for changes to different parts of the repository.
- Create PR A from the trunk branch with a change that should trigger one of those workflows.
- Create PR B on top of A with an unrelated change that does not trigger that workflow.
- Publish A and B as a stack.
- Observe that the workflow relevant to PR A is skipped because it is unrelated to the topmost PR, PR B.
Expected behavior
Each PR in the stack should run the CI workflows relevant to its own changes.
Actual behavior
CI workflows are selected based on the topmost PR in the stack. Workflows unrelated to that PR are skipped across the stack, including workflows that are relevant to lower PRs.
Example consequence
PR A changes a database migration and should trigger migration tests. PR B adds an unrelated application change on top. If the migration workflow is unrelated to PR B, it is skipped, leaving PR A without the CI coverage relevant to its changes.
This is distinct from #319, where stale or missing merge refs prevent pull request workflows from running at all.
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 73
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/gh-stack
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
feature request topic: cli - general
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
feature request topic: auto-merge
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug topic: docs
Difficulty 1/5 Under an hour Newbie friendliness 68/100
Similar issues
-
textual definition
Difficulty 1/5 Under an hour Newbie friendliness 90/100
geneontology/go-ontology#32653 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
needs design
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Priority/High ready-for-agent Severity/Major Type/Bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100