github / github/gh-stack

Stacked-PR merge box doesn't offer repo admins the "bypass rules and merge" option that standalone PRs get

Ouverte
#315 5 commentaires 19 réactions 0 personnes assignées Voir sur GitHub
feature request topic: bypass rules
Langage dominant
Go
Étoiles
1.5k
Forks
70
Merge moyen
1 j 8 h
PR mergées (30 j)
7

Description

### Summary

On github.com, a repo admin trying to merge a **blocked** standalone PR (e.g. "Review required") is offered a **"bypass rules and merge"** control — "Merge without waiting for requirements to be met" — the admin escape hatch for branch-protection / ruleset requirements. Inside the **Stacked PRs** merge box that control is **not surfaced**: a blocked stacked PR only shows the stack flow ("Merging is blocked", "Unable to merge as a stack", disabled "Squash and merge stack"), with no per-PR admin bypass option. A repo admin therefore cannot bypass-merge a stacked PR from the web UI and has to fall back to the CLI: `gh pr merge --admin`.

Filing here since `gh stack` is the interface to the Stacked PRs feature and SUPPORT.md routes bug reports to this repo. Extension version **v0.0.8**.

### Reproduction

1. On a repo whose `main` requires ≥1 approving review, create a stack: `gh stack link --base main ` (chain `main ← A ← B ← C`).
2. With no approving review submitted, open a blocked member PR in the web UI **as a repo admin**.
3. The merge box shows "Merging is blocked — At least 1 approving review is required" / "Unable to merge as a stack". There is **no** "bypass rules and merge" control — the affordance a normal blocked PR would show an admin is missing.

Observed on both an intact stack and a partially-merged one.

### Expected

A repo admin should get the same "bypass rules and merge" escape hatch on a stacked PR that they get on a standalone PR — able to admin-override-merge the individual PR from the web UI, without dropping to `gh pr merge --admin`.

### Why it's more than a nuisance

It becomes inescapable once the stack is **partially merged**: after squash-merging the lower PRs, the top PR stays open and stack-associated, but the stack can't be dissolved to free it — `gh stack unstack` refuses with `Unstacking not allowed: Pull requests , cannot be removed from this stack` (server-gated; merged members stay pinned). With no web bypass control **and** no way to unstack, the only route to merge the stranded PR is `gh pr merge --admin`. The unstack / partial-merge limitation itself is already tracked in Discussions #230 and #310 — this issue is specifically about the missing **admin bypass-merge** affordance in the stacked-PR merge UI.

Minor client note: the `unstack` warning at `cmd/unstack.go:228` hard-codes "queued for merge or have auto-merge enabled" as the reason for a `dissolved=false` result, which is misleading when the real cause is merged members — but that's secondary.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Évaluation

Stack technique
github, go
Domaine
cli, frontend
Type d'issue
Bug
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
28/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.