70 %
Chris Biscardi

Bors

Bors is a GitHub bot/app/whatever-you-want-to-call-it that orchestrates the batching, testing, and merging of PRs in such a way that nobody has access to push to the main branch.

What does this mean in practice? It means you can use PR comments (like bors r+) to test and merge PRs.

bors r+ merged PR

With access control that prevents unauthorized randos from merging arbitrary PRs or testing random code.

A wild rando appears

If it turns out that this person is a trusted collaborator that just hasn't gotten set up yet, you can give them permission to merge a given PR when they're ready.

trusted collaborator gets permission to merge

or give permission to multiple people working on a PR

bors multiple delegation

Bors will also batch PRs together and test them, merging if the tests pass and bisecting if they don't.

bors batch merge

Additionally, you can stack PRs with bors. When the first PR is merged, the dependent PR will be updated.