Hive Hive
Sign in

Runners Controller 0.13.1

Metadata
Source
GitHub
Version
runners-controller@0.13.1
Published
Jun 19, 2026 · 10:51 UTC
Repository
tuist/tuist
Update

This version fixes the macOS runner queue bottleneck that left jobs waiting for minutes even when nodes were idle. The root cause was not VM boot time, but a fleet-wide image-pull wave whenever the runner digest rolled, plus a secondary tart-kubelet stall.

  • Paced image rolls: You can now configure how aggressively macOS runner images roll out through the controller. The default cap limits the number of pods that drain simultaneously, so the whole fleet no longer pulls the same multi-gigabyte image at once and collapses the warm pool.
  • Self-healing tart-kubelet: tart-kubelet now enforces per-operation timeouts on VM pull, clone, run, stop, delete and other operations. Stuck invocations are killed and retried rather than wedging a node, and the reconciler requeues work after finalizer updates so missed watch events cannot strand pods.
  • Improved observability: New metrics expose roll progress, stale pods, and the concurrency cap, plus the delay from pod creation to VM provisioning start. The gap between Scheduled and Running is now visible in dashboards and kubectl events.