I’m having trouble pinning down the exact steps for us to do this correctly.
We want to have all PRs from a project_branch in people’s forks to the same project_branch in the main repo (these are private organization repos) to be forcibly subject to reviews.
In order to facilitate this I added a branch protection rule to all project branches in the main repo and in that rule specified we need 2 approvals before merging is allowed.
However when we do this we get a problem, imagine we’re now done with project_branch in the main repo so we create a PR to merge that into master. Well when we do this GitHub ordinarily tells us we can now delete project_branch but now it does not and in fact it tells us that the branch cannot be deleted!
It seems that it isn’t possible to apply this two approval rule to project branches without also making the branch not deleteable but this seems dumb.
Furthermore we see weird stuff when we approve, we expected (after two approvals) that GitHub would automatically merge the PR but it didn’t and in fact at the top of the PR page (top right) we see clearly that three people approved the PR yet at the bottom of the same page it says only a single person has approved.
This is just driving us insane trying to fathom this out.