Run CI checks as parallel jobs - #253
Merged
Merged
Conversation
The single checks job ran typecheck, lint, build, test and thirteen structural checks in sequence, so a pull request waited on the sum of all of them and a formatting failure surfaced only after the build. Running them as separate jobs makes the wall-clock the slowest job instead, and cheap failures report in about a minute.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The
checksjob ran nineteen steps in sequence — typecheck, lint, build, test, then thirteen structural checks — so every pull request waited on the sum of all of them, around twelve minutes, and a prettier failure only surfaced after the build had already run.Splitting them into
lint,typecheck,build-testandstructurallets GitHub run them concurrently. Wall-clock becomes the slowest job rather than the total, and a lint or structural failure reports in about a minute instead of last.Same commands, same coverage —
check:tool-package-pinsmoves intostructuralalongside the other guards.walking-skeletonis untouched.The trade is four
bun installruns instead of one; the concurrency win is far larger than the duplicated install.