chore(ci): Speed up critical path of CI #5275
Merged
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.
We've decided to try using some of our funding to speed up CI. kbknapp has experience with buildjet in the past which allows us to keep our Actions and switch out our runners.
As we are charged for
num_cores * time
, increasing core counts could decrease time, both helping us and keeping costs down. I chose 8 cores (an upgrade overubuntu-latest
s 2 cores) as kbknapp knew someone who benchmarked things for Rust/Python and found that a good fit.I only switched a subset of jobs over to buildjet to focus on jobs where
most of the time is spent on highly parallelizable operations.
Buildjet dropped our Linux test jobs from 8-9min to 2-3min.
The checks and UI-test jobs only improved by 30s-1min each, so I left
them out.
We can iterate as we go.