Parallelize CircleCI jobs using workflows #15704
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.
Updates the CircleCI config to use the workflows feature to run jobs in parallel, instead of the
parallelism
option. This change alone doesn't improve the overall build time much, since almost all of the total time is spent running the Rollup script, which runs entirely sequentially. But it does improve reporting, and should make it easier to add additional parallel jobs in the future.(My original motivation for this PR was because I want to use a workflow trigger to run a chron job for the fuzz tester.)
PRs report more granular information about the CI status:
The Workflows view includes a nice flowchart. Note how the Rollup script takes the bulk of the time, as you would expect. (Parallelizing that step would be an easy win.)