Loading page…
A dependency-aware task scheduler: Kahn's algorithm rejects a cycle at submit and, as counts of unmet dependencies, releases tasks live; a ready heap by priority and a delayed heap by time behind one condition variable; tasks run outside the lock; doubling backoff for a flaky test; cancels and failures that skip everything downstream; fixed-rate recurring tasks; and 40 tasks on 4 workers.
Seven build steps, one of them flaky.