Just a rough thought, but I want to share this. Currently, when someone made a stacked PR, the workflow will run for each PR stacks in parallel.
This doesn't seem efficient imo. At least it isn't be ideal for all use-cases.
While some maintainers want to run a test for all possible commits (technically they are not commits but a patch.) Some maintainers might think if top-most change passed the test, the entire stack is fine.
We can support multiple strategies to run a stack:
- run workflow in parallel ignoring the workflow failure from others (current behavior)
- run only once for top-most stack
- run workflow sequentially starting from top-most stack and stop whenever the workflow failed
- run workflow sequentially starting from bottom of the stack and stop whenever the workflow failed
As a context, I've been thinking about abandoning the current stacked PR model and support commit-wise round/review for every PRs. (discord message) Commits will be first-class objects and we will be able to run workflow in the context of commit graph.