-
-
Notifications
You must be signed in to change notification settings - Fork 66
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Thank you for this great project. I've installed in on a repo and it's running beautifully!
One concern I have with using this for larger projects is that a queue like this is only able to merge as many PRs a day as it can run CI in a day. Ideally CI is quick, but when this isn't possible and the amount of PRs merged a day becomes large one might have to wait a long time for a PR to get merged.
I'd love Kodiak to take a page out of Zuul's book and be able to make us of parallel CI capacity where it is available. That might look something like this:
- Lets say we start out with 5 PRs ready to be merged.
- Kodiak pushes a new branch in which all 5 PRs have been merged together, and creates a PR for it against
master(or whichever base branch is used). If CI passes for this combined branch it can be merged, and just like that 5 PRs are checked in a single CI run. - Of course CI of the combined branch might fail. To hedge against this Kodiak doesn't just push a branch containing those 5 PRs, but also branches containing subsets of those 5 PRs. There's different strategies one might choose here, Zuul picks one that might be interesting to look at. CI will run for these 'fallback' options in parallel. If CI fails for branch containing all 5 PRs it tries to merge one of the other branches.
The benefit of such an approach would be that, given parallel CI capacity, many more PRs can be merged safely within the same period of time.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request