chore: no workflow sets timeout-minutes, so a hung browser can hold the shared runner for the 6h default #294
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Neither
check.ymlnor the e2e workflow setstimeout-minuteson any job, so each inherits the 6-hour default.This was harmless while CI ran unit tests only. It stops being harmless once the browser suites run in CI (#259), because the failure mode those suites actually have is a HANG, not an assertion failure — #290 is literally "the extension opened no approval window within 30000ms", and a driver that loses its browser can sit indefinitely rather than exiting. On a shared runner that is a six-hour outage for every other repo in the queue, caused by one stuck Firefox.
Raised by the independent review of #291, which correctly did not file it as a defect of that PR — the omission is pre-existing practice and consistent across the existing workflows. It is newly consequential rather than newly introduced.
Implementation requirements
timeout-minuteson every job in every workflow, not only the e2e ones — a hungcheckjob costs the same.check33s,e2e-chrome51s,e2e-firefox20s — but a cold-cache build has been measured at 2m16s, so the cap must clear a cold build comfortably or it becomes a second flake source.Definition of done
timeout-minutes.TODO.mdupdated in the same commit.make checkpasses.