ci: give every job a timeout so a hung run fails in minutes, not 6 hours
About 5% of Test runs since Oct 3 hung until GitHub's 6-hour default
limit, all billed on Blacksmith. A turbo task's bun test process never
exits (desktop most often; also agent-setup, chat-ui, relay,
host-service).
Jobs without a timeout now get 10 minutes. The desktop build jobs get 60
because they sign and notarize. The existing explicit timeouts stay.
Summary by cubic
Adds timeout-minutes to every workflow job that lacked one, so a hung run fails in minutes instead of GitHub's 6-hour default.
Jobs without a timeout now get 10 minutes, with three exceptions: desktop build jobs get 60 because they sign and notarize, the production database migration job gets 20 (migrations 0122 and 0125 raise their lock wait to 11 minutes), and the real sandbox job gets 30 because it waits up to 20 minutes for a fresh image. Existing explicit timeouts are unchanged. About 5% of Test runs since Oct 3 hit the 6-hour limit, all billed on Blacksmith, because a turbo task's bun test process never exits.
Summary by CodeRabbit
- Reliability
- Set time limits for automated build, test, deployment, release, and maintenance tasks to prevent them from running indefinitely.