fix(ci): raise race-step go test timeout to 45m (BUG-1913) (#787)

The internal/server suite's aggregate runtime under -race crossed the
30m budget (~30.3m on a fast local machine, 734 tests, none slower than
14s — growth, not a hang), making the Go jobs fail most main runs with
'panic: test timed out after 30m0s' on whichever test happened to be
running. 45m restores headroom; genuine deadlocks still produce the
goroutine-dump panic, up to 15m later. Real fix (cheaper suite) stays
tracked on BUG-1913.

Claude-Session: https://claude.ai/code/session_01CL1pBjNpPUX6SWkuAuYXHS
This commit is contained in:
xarmian
2026-07-03 02:45:12 -04:00
committed by GitHub
parent f235a04316
commit 4e4d4edc86
+14 -6
View File
@@ -90,10 +90,15 @@ jobs:
# ipRateLimiter goroutine drain). The PLAN-866 attachment work
# (image decode/encode/resize across thumbnail + transform tests)
# pushes total race-step runtime past 20m on the GitHub-hosted
# runner — kept at 30m to give headroom without papering over
# an actual hang. Genuine deadlocks would still hit this and
# produce the goroutine-dump panic.
run: go test -race -timeout=30m ./...
# runner. BUG-1913: the suite organically grew past the old 30m
# budget (734 server-package tests, ~30.3m under -race even on a
# fast local machine; no single test exceeds 14s — aggregate
# weight, not a hang), turning most main runs red. 45m restores
# headroom; genuine deadlocks still hit this and produce the
# goroutine-dump panic, just up to 15m later. The real fix
# (cheaper suite: shared fixtures / sharding) is tracked on
# BUG-1913.
run: go test -race -timeout=45m ./...
- name: Build binary
run: go build -o pad ./cmd/pad
@@ -139,12 +144,15 @@ jobs:
# Runs on both push-to-main AND pull_request — see SQLite race-step
# comment for the public-repo / BUG-1371 reasoning.
#
# 30m headroom over the default 10m. PostgreSQL adds latency on
# Headroom over the default 10m. PostgreSQL adds latency on
# every CREATE/DROP, and the PLAN-866 attachment work pushed the
# cumulative wall over 20m. The bootstrap-user bcrypt cost that
# blew past 30m on main (BUG-1371) is now handled by TestMain
# dropping the cost to bcrypt.MinCost for test binaries.
run: go test -race -timeout=30m ./... -count=1
# BUG-1913: raised 30m → 45m alongside the SQLite step — the
# suite's aggregate runtime crossed the old budget (this job
# variant failed main at f235a04 with the same timeout panic).
run: go test -race -timeout=45m ./... -count=1
web:
name: Web