Skip to content

ci: reduce Test Suite to deterministic unit suites (fix 6h hang)#1095

Merged
VinciGit00 merged 1 commit into
mainfrom
ci/reduce-test-suites
Jun 25, 2026
Merged

ci: reduce Test Suite to deterministic unit suites (fix 6h hang)#1095
VinciGit00 merged 1 commit into
mainfrom
ci/reduce-test-suites

Conversation

@VinciGit00

Copy link
Copy Markdown
Member

What

The Unit Tests job runs pytest tests/ over the whole tree. That includes:

  • Provider graph tests (tests/graphs/*) that instantiate graphs and call .run() against real LLMs — they fail without API keys.
  • Integration tests (tests/integration/*) — network-bound.
  • Browser/network suites, notably tests/test_chromium.py, which launches a real headless browser. smart_scraper_openai_test.py even uses headless: False on a live URL.

The most recent run hung and was killed at GitHub's 6h limit (orphaned chrome-headless-shell process), so the check is red on every PR.

Change

Narrow CI to the 9 deterministic, mock-based suites that pass offline (56 tests, ~3s):

test_batch_api  test_csv_scraper_multi_graph  test_depth_search_graph
test_json_scraper_graph  test_minimax_models  test_scrape_do
test_search_graph  utils/convert_to_md_test  utils/parse_state_keys_test

Also:

  • Add timeout-minutes: 15 so a hang can never burn the full runner budget again.
  • Drop the unused playwright install chromium step (no kept suite needs a browser).

Follow-up

The excluded suites aren't deleted — they should be re-added once mocked or gated behind pytest markers + repo secrets. Note that several non-provider files also have genuine offline failures (tests/nodes/*, test_fetch_node_timeout, parts of test_models_tokens, utils/test_proxy_rotation, etc.) worth triaging separately.

🤖 Generated with Claude Code

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>
@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. tests Improvements or additions to test labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 3c9ac14.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@VinciGit00
VinciGit00 merged commit 037a42e into main Jun 25, 2026
7 checks passed
github-actions Bot pushed a commit that referenced this pull request Jul 8, 2026
## [2.1.5](v2.1.4...v2.1.5) (2026-07-08)

### Bug Fixes

* pop model_tokens so it is not forwarded to the model client ([#1100](#1100)) ([d2b970c](d2b970c))

### Docs

* **readme:** add Open Source vs Managed API comparison ([#1091](#1091)) ([ef3523b](ef3523b))

### CI

* run only deterministic unit suites in Test Suite workflow ([#1095](#1095)) ([037a42e](037a42e))
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 2.1.5 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released on @stable size:XS This PR changes 0-9 lines, ignoring generated files. tests Improvements or additions to test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant