π€ Generated by the Daily AI Engineer
Problem
A transient HTTP 500 from umami β the analytics app β fails the entire π Deploy to Production step, which fails the merge_group run, which evicts the PR from the merge queue. An unrelated dependency bump therefore cannot merge because an analytics tenant-provisioning call blipped.
Observed 2026-07-14 on renovate PR platform#2611 (run 29329060647):
Error: could not authenticate to umami after retries; last login failure: HTTP 500
Error: list teams failed: 500
at ensureTeam ([eval]:54:20)
The deploy was otherwise fine β the kubeconfig worked throughout (it was reading live pod logs), and neighbouring merge_group deploys succeeded (pr-2612 10:45Z, pr-2608 09:03Z, pr-2630 08:40Z).
It really was transient. The umami-provision-tenants CronJob failed during the deploy window and then completed successfully ~12 minutes later, in 11 seconds. umami itself is healthy (umami-umami-primary 2/2 Running, CNPG umami-db healthy, 3 instances). But there is a recurring pattern of intermittent failures in that CronJob's history (failures at 7d, 5d and 10h ago, interleaved with successes).
Why it matters
The blast radius is disproportionate to the fault:
- A best-effort, idempotent tenant-provisioning step for an analytics app is a hard gate on prod delivery.
- Because platform merges go through a merge queue, the failure doesn't just fail a check β it evicts the PR, so the merge lane silently stalls and every queued change waits on an unrelated 500.
- It is indistinguishable at a glance from a real deploy failure, which costs a root-cause pass every time (this one did).
Proposed direction
Make the umami tenant-provisioning step non-gating for the deploy, while still surfacing its failure:
- Retry with backoff around the umami login /
list teams calls (it already retries once β the window here outlasted it), and
- let the step fail soft β report the failure (annotation / alert) without failing
Deploy to Production. Provisioning is idempotent and the CronJob re-runs on schedule, which is exactly what already self-healed it here.
Alternatively, move tenant provisioning out of the deploy path entirely and let the CronJob own it, with an alert if it stays failed across N runs.
Either way the principle is the same: an analytics-app blip should not be able to evict PRs from the merge queue.
Rough size
SβM β one workflow/script step plus an alert.
Found while root-causing platform#2611's eviction (re-queued; the transient had cleared).
Problem
A transient HTTP 500 from umami β the analytics app β fails the entire
π Deploy to Productionstep, which fails themerge_grouprun, which evicts the PR from the merge queue. An unrelated dependency bump therefore cannot merge because an analytics tenant-provisioning call blipped.Observed 2026-07-14 on renovate PR platform#2611 (run 29329060647):
The deploy was otherwise fine β the kubeconfig worked throughout (it was reading live pod logs), and neighbouring
merge_groupdeploys succeeded (pr-2612 10:45Z, pr-2608 09:03Z, pr-2630 08:40Z).It really was transient. The
umami-provision-tenantsCronJob failed during the deploy window and then completed successfully ~12 minutes later, in 11 seconds. umami itself is healthy (umami-umami-primary2/2 Running, CNPGumami-dbhealthy, 3 instances). But there is a recurring pattern of intermittent failures in that CronJob's history (failures at 7d, 5d and 10h ago, interleaved with successes).Why it matters
The blast radius is disproportionate to the fault:
Proposed direction
Make the umami tenant-provisioning step non-gating for the deploy, while still surfacing its failure:
list teamscalls (it already retries once β the window here outlasted it), andDeploy to Production. Provisioning is idempotent and the CronJob re-runs on schedule, which is exactly what already self-healed it here.Alternatively, move tenant provisioning out of the deploy path entirely and let the CronJob own it, with an alert if it stays failed across N runs.
Either way the principle is the same: an analytics-app blip should not be able to evict PRs from the merge queue.
Rough size
SβM β one workflow/script step plus an alert.
Found while root-causing platform#2611's eviction (re-queued; the transient had cleared).