Repository navigation
chore(ci): make local_ci.sh faster on many-core machines - #149
Conversation
--dist loadfile keeps each file on one worker, so test_mcp_tools.py (64 s) set the floor of the parallel suite. Split it into three files and test_retrieval.py into two, by topic. Test names and counts do not change. The logging-isolation fixtures stay in test_mcp_tools.py with the entry-point tests (TDR-017). The shared result and ingest helpers move to conftest next to connected_client.
The frontend gates and the web wheel check share nothing with the Python suite, so they now run in the background and print after the tripwire. A failure stops the script with their exit code, and the EXIT trap stops the background job. OMRS_CI_WORKERS sets the pytest worker cap (default 8, as in CI). Timed against v3 in alternating runs (load average 12 to 41): 145 s and 140 s before, 129 s and 108 s after (16 workers).
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 3 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (94.37%) is below the target coverage (95.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## v3 #149 +/- ##
=======================================
Coverage 94.80% 94.80%
=======================================
Files 370 370
Lines 30049 30049
Branches 3845 3845
=======================================
+ Hits 28487 28488 +1
+ Misses 1029 1028 -1
Partials 533 533 |
Summary
Makes
./scripts/local_ci.shfaster on a machine with many cores. CI jobs do not change.028374f6).--dist loadfilekeeps each file on one worker, sotests/test_mcp_tools.py(64 s) set the floor of the parallel suite.test_mcp_tools.pyis now 3 files andtest_retrieval.pyis now 2, split by topic. The slowest single test file drops from 64 s to 35 s.tests/TEST_README.mdstill passes.conftest.py, next toconnected_client.d06b7bd3).OMRS_CI_WORKERSsets the pytest worker cap. The default stays 8, as in CI.AGENTS.mdnotes both.Timings
The before and after runs alternated on one Mac (18 cores). The before runs used
v3with its own environment, and the after runs usedOMRS_CI_WORKERS=16. The load average was between 12 and 41, so these numbers are noisy.After the rebase onto
v3at8f401b75,local_ci.shpassed in 105 s with no SKIPPED step. Python had 9,440 passed and 149 skipped, and the web had 2,205 tests.The saving is about 25 s, less than estimated. The web gates and pytest now share the cores, which slows the Python suite.