We have a branch pattern
on which “Require status checks to pass before merging” is checked, along with a handful of status checks. We call these “feature branches” in our shop.
Our general model is that we create feature branches from master, and then developers branch off the feature branch to do their work. We call these “development branches”. When a dev is done with a task, they create a PR to merge the development branch into the feature branch. So we set up those status check requirements for such PRs. Then once all of the work on a feature is done, we create another PR to merge the feature branch into master. We have similar status checks set up for those PRs.
We have no other rules set for that branch pattern, and we have no other protected branch patterns that would overlap. And yet, nobody but administrators can push to feature branches. This problem is most obvious when the feature branch falls behind master, and we’d like to update the feature branch with the latest from master. So when someone presses the button to Update Branch because it’s out-of-date with master, it fails with an error that says:
“Update branch attempt failed: Couldn’t update : 5 of 5 required status checks are expected”
First of all, why would status checks on a feature branch -> master merge have anything to do with merging master into the feature branch? Secondly, in all of the cases 5 of 5 required status checks have passed (!), so the error message doesn’t make sense anyway. So we’ve not been able to figure out what set of rules we need to enable or disable in order for non-administrative developers to be able self-update their feature branches . . . not sure if I’m misunderstanding the rules or their precedence, or if this is indeed a bug.
Any suggestions would be welcome.