The current mergify bot config has it rebasing active PRs and
impersonating random org members in order to do so This is a known
limitation of how mergify has to interact with the GitHub API, but
it's still weird and confusing.
This commit, along with an accompanying change to GitHub branch
protection rules, is an attempt to simplify that behaviour. We
now expect mergify to only merge PRs that are up-to-date with their
base branch, and to only do it be directly adding the existing commits
to the base branch.
While I was in here, I also took the opportunity to clean up some of
the status-check-checking logic, which in its previous incarnation
looked like it could very easily bitrot.
Automatic merge will happen if all the following conditions are true:
- There's at least 1 approved review
- For non-team members: approved reviews are not stale
- The "checkin-needed" label is present
- All the CI jobs have passed