common/CI: Parallelize checks and run PackageBumped check in a ThreadPool #6322
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
time common/CI/package_checks.py --base=origin/ninja-progress(Branch that is several months out of date and not rebased)
Before: 2m15.567s | Now: 0m35.721s
time common/CI/package_checks.py --base=origin/auto-python-updates(Branch that is just a few commits behind origin/main)
Before: 0m0.981s | Now: 0m0.602s
I tested converting all checks to async launched from ProcessPoolExecutor() but it seemed to be slower than just targeting slow checks with a ThreadPoolExecutor.
Test Plan
Test package_checks.py continue to work as expected
Checklist