ReapStaleBuilds is called from runRunnerNext in internal/control/build.go and nowhere else. If the only runner dies, its builds stay running and the commit status stays pending indefinitely, which is the case #53 was meant to close.
Move the reap into the scheduler tick in internal/ci/sched.go so it runs every minute regardless of runner activity.
Ref #53
closed by commit 81bb0d1408 by cmc: ci: reap stale builds on the scheduler tick
2026-09-02 03:29 UTC