chore: cap every CI job with timeout-minutes #469

Merged
clawbot merged 1 commits from issue-294-workflow-timeouts into next 2026-10-06 01:09:05 +02:00
Collaborator

Closes #294.

Every job in .gitea/workflows/ now sets timeout-minutes. A hung build or browser ends its job, where before it held the shared runner until the server's own limit, hours later.

Observed times, warm cache to cold, over the 24 to 26 green runs of each job on 2026-10-03 and 2026-10-04: check 49s to 3m37s, e2e-chrome 1m44s to 4m48s, e2e-firefox 31s to 4m07s. Those Chrome runs predate the real-time receipt cases from #315: make test-e2e now takes 3m51s locally with its image cached, and a cold cache adds about three minutes, so about 7 minutes cold. Caps: check 10 (2.8 times 3m37s), e2e-firefox 15 (3.6 times 4m07s), e2e-chrome 20 (2.9 times the 7-minute estimate). Each clears a cold build on a busy host, and none is far above it.

The "In CI" section of README.md now has these figures and the caps. Its old figures came from before the suites grew.

  • Unverified: no CI run on this branch shows the jobs against their caps. Since the evening of 2026-10-04 the runner's disk has been full, and every job fails in seconds or hangs. One check job hung for 3h08m today.
  • Judgement call: the current Chrome figure comes from one local run on the shared host plus the cold-cache cost seen in CI, not from a CI run.
  • Unverified: whether ending a job also stops a browser container its script already started on the host's docker. The cap frees the runner either way.
  • Unverified: that the runner serving this repo applies a job-level timeout-minutes; runners older than a change of 2026-06-21 ignore the key, and the server does not apply it.

Model: opus-5-5

Closes https://git.eeqj.de/sneak/AutistMask/issues/294. Every job in `.gitea/workflows/` now sets `timeout-minutes`. A hung build or browser ends its job, where before it held the shared runner until the server's own limit, hours later. Observed times, warm cache to cold, over the 24 to 26 green runs of each job on 2026-10-03 and 2026-10-04: `check` 49s to 3m37s, `e2e-chrome` 1m44s to 4m48s, `e2e-firefox` 31s to 4m07s. Those Chrome runs predate the real-time receipt cases from https://git.eeqj.de/sneak/AutistMask/issues/315: `make test-e2e` now takes 3m51s locally with its image cached, and a cold cache adds about three minutes, so about 7 minutes cold. Caps: `check` 10 (2.8 times 3m37s), `e2e-firefox` 15 (3.6 times 4m07s), `e2e-chrome` 20 (2.9 times the 7-minute estimate). Each clears a cold build on a busy host, and none is far above it. The "In CI" section of `README.md` now has these figures and the caps. Its old figures came from before the suites grew. - Unverified: no CI run on this branch shows the jobs against their caps. Since the evening of 2026-10-04 the runner's disk has been full, and every job fails in seconds or hangs. One `check` job hung for 3h08m today. - Judgement call: the current Chrome figure comes from one local run on the shared host plus the cold-cache cost seen in CI, not from a CI run. - Unverified: whether ending a job also stops a browser container its script already started on the host's docker. The cap frees the runner either way. - Unverified: that the runner serving this repo applies a job-level `timeout-minutes`; runners older than a change of 2026-06-21 ignore the key, and the server does not apply it. Model: opus-5-5
clawbot added the needs-review label 2026-10-05 15:08:59 +02:00
clawbot self-assigned this 2026-10-05 15:08:59 +02:00
Author
Collaborator

FAIL

  1. TODO.md, top of "Completed Steps" (line 48 after rebasing onto next at e590b83): the branch no longer applies to current next, which added its own entry in the same place for #328. Acceptable: rebase onto next, keeping both entries.

Unverified: that the runner serving this repo applies a job-level timeout-minutes; the runner only does so since a change of 2026-06-21, older runners ignore the key, and the server does not apply it.

Model: opus-5-5

FAIL 1. `TODO.md`, top of "Completed Steps" (line 48 after rebasing onto `next` at `e590b83`): the branch no longer applies to current `next`, which added its own entry in the same place for https://git.eeqj.de/sneak/AutistMask/issues/328. Acceptable: rebase onto `next`, keeping both entries. Unverified: that the runner serving this repo applies a job-level `timeout-minutes`; the runner only does so since a change of 2026-06-21, older runners ignore the key, and the server does not apply it. Model: opus-5-5
clawbot added needs-rebase and removed needs-review labels 2026-10-05 15:34:08 +02:00
clawbot force-pushed issue-294-workflow-timeouts from b3c956a747 to aedb729e02 2026-10-05 15:45:47 +02:00 Compare
clawbot added needs-review and removed needs-rebase labels 2026-10-05 15:46:07 +02:00
Author
Collaborator

Rebased onto e590b83: TODO.md conflicted at the top of Completed Steps; kept both entries, this one above the #328 one. Nothing else changed.

Model: opus-5-5

Rebased onto `e590b83`: `TODO.md` conflicted at the top of Completed Steps; kept both entries, this one above the https://git.eeqj.de/sneak/AutistMask/issues/328 one. Nothing else changed. Model: opus-5-5
clawbot added 1 commit 2026-10-06 00:52:33 +02:00
chore: cap every CI job with timeout-minutes (closes #294)
check / check (push) Failing after 2s
e2e / e2e-chrome (push) Failing after 2s
e2e / e2e-firefox (push) Failing after 2s
5d3435508e
No workflow set timeout-minutes, so a hung build or browser held the
shared runner until the server's own limit, hours later. check now stops
at 10 minutes, e2e-firefox at 15 and e2e-chrome at 20: each is over two
and a half times the job's slowest cold-cache run. README "In CI" records
the measured times and the caps.

Model: opus-5-5
clawbot force-pushed issue-294-workflow-timeouts from aedb729e02 to 5d3435508e 2026-10-06 00:52:33 +02:00 Compare
Author
Collaborator

Rebased onto 3663f02; only TODO.md conflicted (two new Completed Steps entries at the same spot), resolved by keeping both, this PR's entry first; nothing else changed.

Model: opus-5-5

Rebased onto `3663f02`; only `TODO.md` conflicted (two new Completed Steps entries at the same spot), resolved by keeping both, this PR's entry first; nothing else changed. Model: opus-5-5
Author
Collaborator

PASS

Model: opus-5-5

PASS Model: opus-5-5
clawbot merged commit a8452a1d46 into next 2026-10-06 01:09:05 +02:00
clawbot deleted branch issue-294-workflow-timeouts 2026-10-06 01:09:06 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#469