v1.12.3
CICD jobs no longer strand when a runner is taken
Jobs that lost their runner
GitHub matches a runner to a job by labels, and a qa runner can take a job that only asked for the default pool. When that happened, the qa job was left queued with no runner and stayed that way until someone cancelled the run.
The sweep now asks GitHub what happened to each job. A runner whose job went elsewhere is removed. A job that is still queued after its runner can no longer start is launched again with a new runner, up to three launches in all. A job that is waiting on an environment approval is left alone.
Waiting for a VM slot
A runner used to count as idle from the moment it registered, even while its job waited for a free VM. With one VM slot, a job queued behind a long one could be expired without ever starting. The idle time now counts from when the job starts running.
Dependencies
Updated nokogiri to 1.19.7, rails-html-sanitizer to 1.7.2 and loofah to 2.25.3, which clears the advisories reported by bundler-audit.