Stacked PR checks unrelated to the topmost PR are skipped
- Dominant language
- Go
- Stars
- 1.5k
- Forks
- 70
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 7
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
1. Configure separate CI workflows that run for changes to different parts of the repository.
2. Create PR A from the trunk branch with a change that should trigger one of those workflows.
3. Create PR B on top of A with an unrelated change that does not trigger that workflow.
4. Publish A and B as a stack.
5. 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.
Contributor guide
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.
Assessment
- Tech stack
- go
- Domain
- ci-cd
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100