Skip to content

Commit 4e676d7

Browse files
jeremymanningclaude
andcommitted
CI hardening: 20-minute per-test timeout (pytest-timeout)
A kaleido subprocess wedged during test_animated_svg_plotly on one Windows runner and burned the full 6-hour Actions job timeout. No test legitimately takes over 20 minutes; a hung native call now fails fast with a stack dump instead of holding a runner hostage (thread method, since the hangs are inside native calls). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 7d9e224 commit 4e676d7

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ dev = [
5252
"kaleido>=0.2.1",
5353
# real Hugging Face streaming tests (tests/test_streaming.py)
5454
"datasets>=2.20.0",
55+
# kill hung tests (kaleido subprocesses have wedged for 6h on Windows CI)
56+
"pytest-timeout>=2.3.0",
5557
]
5658

5759
[project.urls]
@@ -64,3 +66,8 @@ include = ["hypertools*"]
6466

6567
[tool.pytest.ini_options]
6668
testpaths = ["tests"]
69+
# safety net for hung external processes (kaleido/ffmpeg/network): no test
70+
# legitimately takes over 20 minutes; without this a wedged kaleido burned a
71+
# 6-hour Windows CI job. thread method: kaleido hangs are in native calls.
72+
timeout = 1200
73+
timeout_method = "thread"

0 commit comments

Comments
 (0)