From c4b09b9322a2eaea78036c150579ff358a4768f8 Mon Sep 17 00:00:00 2001 From: lukasWuttke <54042461+LukasWodka@users.noreply.github.com> Date: Wed, 26 Aug 2026 10:15:26 +0200 Subject: [PATCH] fix(1945): the gate re-runs when a PR changes its base (#140) `edited` is the only pull_request event GitHub fires on a base-branch change. Without it a retargeted PR can never re-run fr-gate: synchronize needs a push, and a retarget has nothing to push. Co-authored-by: Claude Opus 5 --- .github/workflows/fr-gate-caller.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fr-gate-caller.yml b/.github/workflows/fr-gate-caller.yml index 879397b..1ad7f12 100644 --- a/.github/workflows/fr-gate-caller.yml +++ b/.github/workflows/fr-gate-caller.yml @@ -14,7 +14,12 @@ name: FR gate on: pull_request: branches: [staging, main, master] - types: [opened, reopened, synchronize, ready_for_review, labeled, unlabeled] + # `edited` is load-bearing, not decoration: it is the ONLY event GitHub fires + # when a PR's BASE branch changes. Without it a retargeted PR keeps the verdict + # from its old base forever -- `synchronize` needs a push, and a retarget has + # nothing to push, so no event can ever re-run the gate. Measured on + # .github#237, where a required check sat stale for four hours (backend#1945). + types: [opened, reopened, synchronize, ready_for_review, labeled, unlabeled, edited] jobs: gate: