-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[meta] Autorollups #25
Comments
I'd long ago designed a more elaborate version of this, but that requires a ton more infra (and funding!) to make work. This system works with what we've got. |
Also we don't have to actually add an automatic subsystem like the one at the bottom; we can still have rollup initiation be manual but by default based on these heuristics, making it something we can ask more people to do. |
We also shound write up policies for rollup=foo markers and share them with reviewers, namely:
|
More guidelines:
Heuristics:
|
Yeah I'm imagining a total cap on # of PRs, and a cap on # of |
Bors already excludes conflicting PRs from rollups, so that's fine. |
Hmm; but how does it choose which PR to remove? E.g. say we have 1 big PR and 4 smaller PRs and all of the 4 PRs conflict with the 1 big PR, does it pick the big one or the small ones? |
I think it's by whatever sort order the client submits it in. As in, it keeps trying to merge PRs in the order it's asked to, and then excludes any that it can't. We could add an explicit internal sort but I don't think this is too valuable. |
Note that I did a lot of work on designing an preparing to make this happen at servo/homu#102. All sow the developers behind bors-ng have reached out in the past to find out what changes they could make so that rust could switch to bors-ng. https://internals.rust-lang.org/t/proposal-move-to-bors-ng/5334 The answer to both attempt, from Mark_Simulacrum and brson, was that Autorollups would not be acceptable for rust. Opinions, people, or reality may have changed since then. |
Most of the steps here are useful to rollup authors even without the rollups being 100% automatic. An "automatically create a rollup" button would go a long way. Furthermore, we're doing daily rollups now, so stuff has changed. I think it will be easier to add support to homu than to get bors-ng to support everything we need here, though. |
I'm opposed to adding any sophisticated changes like automated rollup when homu doesn't even have proper testing (the CI just runs a style check). |
Cool. In that case, I think we should still add everything up to the automatic rollup: having travis checks, and a "i'm feeling lucky"-style rollup button that does all the choosing for you (maybe client-side). |
Related work: https://github.com/bors-ng/bors-ng seems to do something like auto roll-ups with its concept of "batches". |
We should eventually automate rollups, with failures pinging humans.
Steps:
The text was updated successfully, but these errors were encountered: