Parallel tests#1081
Conversation
Pyright Type CompletenessView the full Project (full
Other symbols referenced but not exported by
Symbols without documentation:
Patch (exported symbols added or changed by this PR): no exported symbol type-completeness changes detected. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1081 +/- ##
==========================================
- Coverage 89.75% 89.55% -0.20%
==========================================
Files 91 91
Lines 5408 5286 -122
Branches 696 671 -25
==========================================
- Hits 4854 4734 -120
+ Misses 389 387 -2
Partials 165 165
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f72cde6. Configure here.
|
They ran a little faster. GitHub actions only allocates 2 workers per job, a far cry from the 16 I have on my machine. So it's like 3-4 minutes per job instead of 4-5. I think this script is too heavy to maintain for using the CI/CD, but it's still very helpful to me (and I hope to you) for local development due to the speed increase there. My vote is:
If you don't want it in, I'm ok with saving the script outside the repo and just using it personally. |

Summary of Changes
Experimental PR, let's see how fast the updated workflows execute.
I guess this is also an excuse for me to use rich, which is an awesome library. But more seriously, the tests run in 1/4th the time when developing on my machine, and take just over a minute to run.
rich is optional. Without it, the script outputs plaintext. But you should test it out locally with rich because it's colorful.
run:
.python .github/scripts/pytest_parallel.py --nbmake docs chainladderScreencast.From.2026-06-30.18-16-22.mp4
Related GitHub Issue(s)
#1080
Additional Context for Reviewers
uv run pytest) and documentation changes (uv run jb build docs --builder=custom --custom-builder=doctest)Note
Medium Risk
Changes how all unit CI jobs execute tests (parallel xdist + combined coverage); library code is untouched but flaky or coverage-merge issues could affect CI signal.
Overview
CI and local test runs now go through a new
.github/scripts/pytest_parallel.pywrapper instead of invokingpytestdirectly. The script always runspytest -n auto --dist=loadfilewith default--cov=chainladder, captures output over a PTY, and reprints results as per-file dot lines (optional Rich live progress whenrichis installed).pytest.ymlandpytest_upstream_nightly.ymlwere updated to call this script (with existing flags like--nbmake,--cov-report=xml, and path/markers forwarded).pyproject.tomladdspytest-xdistto thetestextra and adevdependency group withrich;uv.lockreflects those pins (including a pandas upper bound tweak in metadata).Reviewed by Cursor Bugbot for commit 6cd5599. Bugbot is set up for automated code reviews on this repo. Configure here.