renovate: six updates stuck in awaiting_schedule for 22-32 days, never becoming PRs #487
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#487
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "%!s()"
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?
Six Dependency Dashboard entries have sat in
awaiting_schedulefor 22 to 32 days without ever becoming a PR.RenovateUpdateHeldTooLongis firing for all six. The alert is right; these are stuck, not waiting.The entries
Measured from
bitborg_renovate_update_first_seen_timestamp_seconds, 2026-09-20:Three of them carry the exporter's rollout timestamp (PR #437, 2026-08-18), so they have been held since the guard's very first scan and have never once cleared. They may have been stuck longer than that; 32 days is a floor, not a measurement of when it started.
Why this is not a legitimate wait
The alert's threshold is derived, not guessed.
minimumReleaseAgeis 3 days and the schedule window isbefore 6am on monday, at most 7 days, so 10 days is the smallest value that cannot false-fire (alert-rules.yml.j2:418-428,monitoring/defaults/main.yml:192, threshold introduced in #437). Every entry above is 2 to 3 times that ceiling.Why it is these six specifically
The same branch names are not stuck elsewhere. Live metric values for
renovate/toolchain:Same shape for
renovate/lock-file-maintenance: stuck onbitborg-infraandbitborg-web, recent everywhere else. A recent timestamp means the clock cleared, so the update became a PR and a fresh one was detected. The mechanism works; it is failing for these repo/branch pairs only.Supporting evidence that the pipeline is otherwise healthy:
bitborg_renovate_last_run_status = 0every night for 35 days.bitborg_renovate_prs_createdshows clean weekly bursts exactly 7 days apart, so the Monday window fires and PRs do get created.bitborg_renovate_dashboard_unknown_sections = 0, so no renamed heading is being misparsed into the wrong bucket.RenovateDashboardScanStaleis not masking anything.What this is NOT
Not the docker-timestamp trap from #430 / #332. That fix is in place and working:
default.json:42-45setsminimumReleaseAgeBehaviour: "timestamp-optional"scoped tomatchDatasources: ["docker"], and the logs carry the expectedWARN: Some upgrade(s) did not have a releaseTimestamp, but as we're running with minimumReleaseAgeBehaviour=timestamp-optional, proceeding. That trap also parks updates in Pending Status Checks, a different section, and all six here are npm-datasource groups the docker scope does not cover.Not yet determined
The Renovate-internal reason these six never reach branch creation. Across 29 days of
{container="bitborg-renovate"}logs there is no mention of them at all, not even a WARN, while sibling branches in the same nightly runs log normally. Silence rather than an error is itself the finding.Next step is the one the alert's own annotation prescribes and #430 records how to do without touching production: run Renovate at debug with
platform=localanddry-run=full, and read the per-update decision for these six groups.All six stuck updates became PRs and merged on 2026-09-21: bitborg-infra #491 (toolchain), #492 (victoriametrics), #493 (lock file maintenance) and bitborg-web #249 (satteri), #250 (zod), #251 (lock file maintenance). The Renovate-internal reason they were held was never determined.
Closing as resolved. If
RenovateUpdateHeldTooLongfires again for npm groups, reopen and run the local repro described above (platform=local,dry-run=full, debug).