fix(renovate): the dashboard exporter did not know "PR Closed (Blocked)" #438
Inga granskare
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-infra!438
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "fix/renovate-dashboard-pr-closed-section"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
The ageing guard from #437 found its own blind spot on its first production run, which is the
unknown-section counter earning its keep on day one.
What happened
I ran the exporter by hand on
bitborg-prodto verify the apply rather than waiting for the nightly:unknown sections 1.bitborg-web's dashboard carries a heading nothing inSECTIONSmatched, soRenovateDashboardGuardDegradedwould have raised within two hours — correctly.The heading is
PR Closed (Blocked), which Renovate renders as:with a
recreate-branchaction, holding a TypeScript v7 and a pako v3 major.Why it is mapped as NOT held
A human closed those PRs to reject the updates, and Renovate never recreates them unaided. The entry
is terminal, not waiting. Ageing it would raise
RenovateUpdateHeldTooLongfor ever about a decisionsomeone already made deliberately — noise that would train the alert to be ignored, which is worse
than not having it.
Only the observed heading is added
Deliberately not guessing at other section names. Mapping a genuinely waiting section as terminal
would create a silent blind spot, whereas an unmapped section stays loud. That asymmetry is the
entire point of the counter, so the rest is left to it: if another heading appears, it announces
itself the same way this one did, in two hours rather than never.
Verified — both failure directions, neither silent
bitborg-webrenders it, including both real entries.
got=1 expected=0,got=2 expected=1).fails the three "not held" checks.
ruff0.16.1,ansible-lint(production profile),--syntax-check,check-metric-names.pyclean.Apply
Prod only,
--tags renovate: one changed task, re-copying the exporter. Nothing restarts. #437'sapply is already in production and reconciled clean on both hosts (3/3 and 2/2), with a second
--checkreturningchanged=0, so this is the only outstanding delta.Refs #430