A plan for getting rid of the big green merge button


#1

I think that bors can use Github’s protected branches and status checks to make it a lot harder to press the big green do-the-wrong-thing button.

If bors puts a failing status on each PR, that can be used to disable the merge button by making bors’s status a required status check for pushing to master. Then, once bors is ready to merge, it can change the status to succeeding and then immediately push to master; there is a small window for a human to click the button between those two steps, but you’d have to be unlucky to have that happen.


#2

Actually, can this be done today? I see that bors does put statuses on PRs; maybe all that’s missing is a nudge in the documentation that you might want to do this?


#3

We’re doing exactly this and it seems to work fine.


#4

We tried it, but were annoyed by the fact that the pull request listing shows all pull requests have pending tests. We run CI tests on every pull requests so that information is useful in the listing.