Use GitHub branch protection rules instead of custom config file

GitHub provides a way to specify branch protection rules. Part of it is which status checks must pass before a PR can be merged into the branch. Using this instead of the custom bors.toml file would make setup a bit easier and lead to fewer config files lingering around the repository root folder.

I was thinking of adding support to bors for something like this too. Do you think you can do a small RFC?

I was surprised when this wasn't the default behavior of bors-ng.

If I want the best experience for my PR authors, I have to duplicate the list of checks between GitHub UI and bors.toml.

It'd be nice if bors.toml had an option to just look at the PR checks.

Playing around with bors more, I see now that this wouldn't work as bors wouldn't be able to merge into master. The way we configure it, bors is the definitive source of gating merges. (The status will still be reported for developer feedback, but they aren't required per-se, because the PR author won't be merging anyways.

1 Like

More generally, as shown here, the problem is that GitHub wants to enforce the status checks, but GitHub doesn’t really know about bors’s merge commits. It’s the same reason squash merges are such a mess.

1 Like