From a64c49ddce0fad56733c4652cc43c2bb6ad77d0a Mon Sep 17 00:00:00 2001 From: tannevaled Date: Mon, 21 Sep 2026 06:23:56 +0200 Subject: [PATCH] ci: raise the test timeout 50m -> 90m MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The windows lane of #618 died with `panic: test timed out after 50m0s`. The dump says the budget ran out rather than something hanging: the test listed as running had been running for 0s, and the binary's own total was 3007.445s — 50.1 minutes, a few seconds past the alarm. The three OS lanes run the full suite under -race with coverage, and windows is roughly twice the wall-clock of macOS and ubuntu. The vm suite grows with every conformance wave, so the margin that 50m left has been consumed. 90m restores it for several more. This is deliberately generous rather than exact: a timeout is a backstop against a hang, and the job-level budget (6h) is the real ceiling. Sizing it to just above today's runtime would mean revisiting it every wave, and each revisit is a red lane first. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d8520662..8213c6b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,8 +41,10 @@ jobs: # -race roughly doubles wall-clock, and the windows runner is the slowest # of the three OS lanes; the growing vm suite tips it past go test's 10m # default. macOS/ubuntu finish ~20m; windows runs ~2x so needs more room. - # Bumped 30m->50m as the vm binding set keeps growing (Puppet ecosystem wave). - go test -timeout=50m -race -coverpkg="$COVERPKG" -coverprofile=cover.out ./... + # Bumped 30m->50m (Puppet ecosystem wave), then 50m->90m: the windows + # binary hit the 50m alarm at 3007s with the running test at 0s — the + # budget ran out, nothing hung — and each conformance wave adds to it. + go test -timeout=90m -race -coverpkg="$COVERPKG" -coverprofile=cover.out ./... echo "--- functions below 100% (empty = all covered) ---" go tool cover -func=cover.out | grep -vE '100\.0%$' || true echo "---------------------------------------------------"