Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd parallel building #141
Comments
This comment has been minimized.
This comment has been minimized.
|
Here's a nice diagram explanation of the algorithm: https://docs.openstack.org/infra/zuul/gating.html#testing-in-parallel |
notriddle
added
the
I-enhancement
label
Apr 6, 2017
Macarse
referenced this issue
Apr 30, 2017
Merged
Allow each patch to have its own target branch #171
This comment has been minimized.
This comment has been minimized.
|
I should probably mention, just for completeness's sake, that this is going to be awhile. Making good on parallel building requires near-bottomless build capacity and the ability for bors to insta-cancel builds. Travis limits free projects to something like five concurrent builds, which would be enough for bors-ng/bors-ng itself, but isn't going to cut it for rust-lang/rust. Maybe we could use Travis's "auto-cancel" feature to drop known-bad builds from the queue? That could work, but I'd rather have something where bors can proactively throw errors if it's misconfigured. Being easy to set up matters. |
notriddle commentedApr 6, 2017
•
edited
Instead of batching stuff together, run every item in the backlog immediately with everything ahead of it merged in. This has a couple nice side-effects:
O(E*log(N))toO(E).On the other hand...
O(E*log(N))toO(E*N)O(N)again.So we do want to provide both.