CI time limit on the step; no timeout in Dockerfile or scripts #200

Merged
clawbot merged 1 commits from issue-199-ci-step-timeout into next 2026-11-10 21:22:27 +01:00
Collaborator

Closes #199.

  • .gitea/workflows/check.yml: timeout-minutes: 20 moves from the check job to the step that runs script/cibuild; the runner ignores a job's limit.
  • Dockerfile frontend-test stage, script/frontend-test, script/frontend-viewport-test: the timeout wrappers are gone. The reruns with full output and the failing exit stay.
  • The comment above cleanup() in script/frontend-viewport-test now gives the reason that still holds: a docker run client that is killed outright leaves its container running.
  • Stays: go test -timeout 90s (required by REPO_POLICIES.md), the image's HEALTHCHECK timeout, the server's HTTP timeouts and timeouts in test code.

Deviation: REPO_POLICIES.md is vendored from sneak/prompts and still says the check job sets the limit; it is left unchanged, as the ruling in sneak/homoicon#2066 overrides it here.

Model: opus-5-5

Closes https://git.eeqj.de/sneak/netwatch/issues/199. - `.gitea/workflows/check.yml`: `timeout-minutes: 20` moves from the `check` job to the step that runs `script/cibuild`; the runner ignores a job's limit. - `Dockerfile` `frontend-test` stage, `script/frontend-test`, `script/frontend-viewport-test`: the `timeout` wrappers are gone. The reruns with full output and the failing exit stay. - The comment above `cleanup()` in `script/frontend-viewport-test` now gives the reason that still holds: a `docker run` client that is killed outright leaves its container running. - Stays: `go test -timeout 90s` (required by `REPO_POLICIES.md`), the image's `HEALTHCHECK` timeout, the server's HTTP timeouts and timeouts in test code. Deviation: `REPO_POLICIES.md` is vendored from `sneak/prompts` and still says the `check` job sets the limit; it is left unchanged, as the ruling in https://git.eeqj.de/sneak/homoicon/issues/2066 overrides it here. Model: opus-5-5
clawbot self-assigned this 2026-11-10 21:00:59 +01:00
clawbot added the needs-review label 2026-11-10 21:01:06 +01:00
Author
Collaborator

FAIL (needs-rework): two sentences this PR adds are false.

  1. TODO.md, the new 2026-11-10 entry in Completed Steps, last sentence; the same clause is in the PR body. "so make check has no time limit outside CI" is false: make check still runs go test -timeout 90s in the Dockerfile test stage, which this PR keeps. The definition of done on #199 requires every document that mentions these limits to be true. Acceptable: end the sentence at "no longer wrap commands in timeout.", and make the same cut in the PR body.

  2. script/frontend-viewport-test, the comment above cleanup(): "an interrupted docker run client does not remove the container it started" is false. docker run passes SIGINT and SIGTERM on to the container; with --init the harness gets them and exits, and --rm then removes the container. Only a client that is killed outright (SIGKILL) leaves its container running. Acceptable: a correct short sentence, such as "a docker run client that is killed outright leaves its container running".

Model: opus-5-5

FAIL (`needs-rework`): two sentences this PR adds are false. 1. `TODO.md`, the new 2026-11-10 entry in Completed Steps, last sentence; the same clause is in the PR body. "so `make check` has no time limit outside CI" is false: `make check` still runs `go test -timeout 90s` in the `Dockerfile` test stage, which this PR keeps. The definition of done on https://git.eeqj.de/sneak/netwatch/issues/199 requires every document that mentions these limits to be true. Acceptable: end the sentence at "no longer wrap commands in `timeout`.", and make the same cut in the PR body. 2. `script/frontend-viewport-test`, the comment above `cleanup()`: "an interrupted `docker run` client does not remove the container it started" is false. `docker run` passes SIGINT and SIGTERM on to the container; with `--init` the harness gets them and exits, and `--rm` then removes the container. Only a client that is killed outright (SIGKILL) leaves its container running. Acceptable: a correct short sentence, such as "a `docker run` client that is killed outright leaves its container running". Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-11-10 21:08:21 +01:00
clawbot added 1 commit 2026-11-10 21:13:09 +01:00
The runner ignores a job's timeout-minutes, so the 20-minute limit moves
to the step that runs script/cibuild. The Dockerfile frontend-test stage,
script/frontend-test and script/frontend-viewport-test drop their timeout
wrappers, which failed make check on a busy host. go test's -timeout 90s
stays, as REPO_POLICIES.md requires it.

Model: opus-5-5
clawbot force-pushed issue-199-ci-step-timeout from 62f593f49a to ee7ab101aa 2026-11-10 21:13:09 +01:00 Compare
Author
Collaborator

Reworked at ee7ab10:

  1. TODO.md and the PR body end the sentence at "no longer wrap commands in timeout."
  2. The comment above cleanup() now says a docker run client that is killed outright leaves its container running; the PR body's bullet says the same.

Model: opus-5-5

Reworked at `ee7ab10`: 1. `TODO.md` and the PR body end the sentence at "no longer wrap commands in `timeout`." 2. The comment above `cleanup()` now says a `docker run` client that is killed outright leaves its container running; the PR body's bullet says the same. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-11-10 21:14:57 +01:00
Author
Collaborator

PASS: the only time limit left is timeout-minutes: 20 on the step that runs script/cibuild, the Dockerfile and script/ no longer wrap anything in timeout, and every comment and document the change touches is true.

Model: opus-5-5

PASS: the only time limit left is `timeout-minutes: 20` on the step that runs `script/cibuild`, the `Dockerfile` and `script/` no longer wrap anything in `timeout`, and every comment and document the change touches is true. Model: opus-5-5
clawbot merged commit e5db494187 into next 2026-11-10 21:22:27 +01:00
clawbot deleted branch issue-199-ci-step-timeout 2026-11-10 21:22:27 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/netwatch#200