zack036
07/28/2026, 11:37 PMon:
pull_request:
types: [opened, reopened, synchronize]
branches-ignore:
- "**/graphite-base/**"
Our theory (to be 100% transparent, with the help of Claude) is: during a stack resubmit, Graphite does (per PR): retarget base to graphite-base/N → force-push the rebased head → retarget base back. The force-push happens while the base is still graphite-base/N, so if GitHub evaluates the synchronize event inside that window, the workflow is filtered out by branches-ignore (which matches on the base branch). The retarget-back a few seconds later only fires edited, which isn't a trigger type per the recommended config — so no CI run is ever created for the new head SHA, and required checks sit at "Expected" forever.Ally Summers
07/28/2026, 11:39 PMChris Bowie
07/29/2026, 1:33 PMgraphite-base/*, the force-push can land first, and synchronize gets filtered by the recommended branches-ignore. Retarget-back is only edited, so checks never start.
Can you try this workaround? Create a tiny no-op commit / re-push once the base is the real parent.
If that doesn't work can you provide me a PR link so I can review? Thanks!zack036
07/29/2026, 11:07 PMzack036
07/29/2026, 11:13 PMzack036
07/29/2026, 11:13 PMChris Bowie
07/30/2026, 2:26 PMgraphite-base/* and the same skip hits the next PRs.
After the no-op, from the bottom try gt submit --stack (or gt ss) so descendants aren't parked mid-push.
Still annoying; I'm passing the restack-cascade feedback along internally. No ETA to relay but once we have a resolution I will double back and alert you.
Thanks!zack036
08/03/2026, 12:16 AM