All documentation

Documentation Working in a discussion

Pull request switches

Fix checks, merge when ready and archive on their own, switched from the Mac, the web or the iPhone.

Once a discussion has opened a pull request, the Mac that ran it can look after it: fix what fails, merge when it is ready, and tidy the discussion away afterwards. Each is a switch, per pull request, off until you turn it on.

The three switches

Click a discussion's PR pill for its CI menu. Under the checks are three switches, one set per pull request:

  • Fix failing checks and new review comments. When checks fail, or someone comments, the room works on it in a worktree of its own and pushes the agreed fix to the branch. Only once the checks have finished, at most three tries a day, and never on a fork.
  • Merge when GitHub says it is ready. GitHub waits for the required checks and approvals, then merges.
  • Archive this discussion when it merges or closes.

When GitHub won't wait

Some repositories do not allow GitHub's merge-when-ready, and GitHub refuses the switch. The Mac then does the waiting, and the switch reads Merge when checks pass — this Mac waits. It merges only once every check has passed on the latest commit, with no conflicts and no review holding it. It names that commit to GitHub, so a later push stops the merge. A failed check is waited out rather than given up on, since a fix pushes a new commit with new checks. LetThemBuild has to be open. Turn this off in Settings → Workspace → Merge from this Mac when GitHub won't.

From the web and the iPhone

The same three switches sit under each open pull request in the discussion's Summary on the web, and in its details on the iPhone. A switch turned there is done by the Mac that ran the discussion, under the same rules as its own menu, usually within seconds. Until then it says Waiting for your Mac. Only the discussion's owner sees them, and only once that Mac has reported on the discussion. The Mac can refuse them all: Settings → Account → Sign-in & Security → Pull request switches from my other devices. A team that takes approvals on the Mac only takes these there too.

When not to use it. Fixing on a pull request from someone else's fork, where nothing can be pushed. Merging on its own where a person must read every change before it lands: branch protection and required approvals are the place for that rule.

See also

Not what you were looking for? The help centre answers one question at a time, and the support page says how to reach a person.