Skip to content

Commit 037a42e

Browse files
VinciGit00claude
andauthored
ci: run only deterministic unit suites in Test Suite workflow (#1095)
The Unit Tests job ran the entire tests/ tree, which includes provider graph tests (tests/graphs/*), integration tests and browser/network suites. Without API keys these fail, and tests/test_chromium.py launches a real headless browser that hangs forever — the last run was killed at GitHub's 6h limit. Narrow CI to the 9 deterministic, mock-based suites (56 tests, ~3s), drop the unused Playwright browser install, and add timeout-minutes: 15 so a future hang can't burn the full runner budget. The excluded suites should be re-added once mocked or gated behind markers + secrets. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 7fc9c57 commit 037a42e

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

.github/workflows/test-suite.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ jobs:
1111
unit-tests:
1212
name: Unit Tests
1313
runs-on: ubuntu-latest
14+
# Hard cap so a hanging test can never burn the full 6h runner budget again.
15+
timeout-minutes: 15
1416

1517
steps:
1618
- name: Checkout code
@@ -27,8 +29,21 @@ jobs:
2729
- name: Install dependencies
2830
run: uv sync
2931

30-
- name: Install Playwright browsers
31-
run: uv run playwright install chromium
32-
32+
# Run only the deterministic, mock-based unit suites. The provider graph
33+
# tests (tests/graphs/*), integration tests (tests/integration/*) and the
34+
# browser/network suites (e.g. tests/test_chromium.py) require real API
35+
# keys or live network/browsers, so in CI they either fail or hang
36+
# indefinitely. They should be re-added here once mocked or gated behind
37+
# markers + secrets.
3338
- name: Run unit tests
34-
run: uv run pytest tests/ -m "unit or not integration"
39+
run: >
40+
uv run pytest
41+
tests/test_batch_api.py
42+
tests/test_csv_scraper_multi_graph.py
43+
tests/test_depth_search_graph.py
44+
tests/test_json_scraper_graph.py
45+
tests/test_minimax_models.py
46+
tests/test_scrape_do.py
47+
tests/test_search_graph.py
48+
tests/utils/convert_to_md_test.py
49+
tests/utils/parse_state_keys_test.py

0 commit comments

Comments
 (0)