Repository navigation
docs(workflow): mergify now stops a label loop, the page said it ran indefinitely - #13264
Conversation
Merge Protections🔴 2 of 5 protections blocking · waiting on 👀 reviews
🔴 👀 Review RequirementsWaiting for
This rule is failing.
🔴 🔎 ReviewsWaiting for
This rule is failing.
Show 3 satisfied protections🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 📕 PR description
🟢 🚦 Auto-queueWhen all merge protections are satisfied, this pull request will be queued automatically. |
|
@mergify-ci-bot this pull request is now in conflict 😩 |
That also settles the open question this pull request left open, whether the |
The
labelaction page warned that a pair of rules flipping the same labelmakes it "toggle back and forth indefinitely". The engine no longer lets that
happen: it counts the reversals of a label made by rules undoing each other
and, past a threshold within a short window, stops changing that label on that
pull request in either direction until the repository's Mergify configuration
changes, reporting a failing check run that names the label and the rules.
So the old text was wrong twice over. It overstated the symptom, and it left
out the consequence a reader now actually has to plan for: the label stops
following the pull request's state until the configuration is fixed, which is
a different failure mode from a label that flaps. The advice to make the
conditions mutually exclusive is unchanged and still the real fix, so it stays
— now framed as the fix rather than as the only thing standing between you and
an endless loop.
Evidence: the label loop guard in the engine, which derives the history from
the pull request's own
action.labelevents and emits theaction.label.loop_stoppedevent that appeared inpublic/api-schemas.jsonthis window; only rule-made changes count, so a command or a built-in rule
does not trigger it.
Open question: whether the exact threshold belongs in the prose. The engine
stops the label after a fixed number of reversals within a fixed window, and I
wrote that as "enough times in quick succession" rather than giving the two
figures, because they are tuning constants picked from production measurement
and publishing them invites configurations tuned to sit just under them. If we
would rather be precise, both are in the engine's label loop guard and the
sentence takes them without restructuring.