ci: optimize CI pipeline with parallel jobs and caching#11816
Closed
0xApotheosis wants to merge 4 commits intodevelopfrom
Closed
ci: optimize CI pipeline with parallel jobs and caching#118160xApotheosis wants to merge 4 commits intodevelopfrom
0xApotheosis wants to merge 4 commits intodevelopfrom
Conversation
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
980ac7e to
fd8139c
Compare
Remove singleThread and forks.isolate constraints from vitest config to allow parallel test execution across multiple threads. Side-effects tests are already isolated in their own config file. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace bootstrap.yml + pr.yml + cloudflare.yml with a single ci.yml. The static job runs lint, type-check, and test concurrently within a single job using concurrently, avoiding per-job setup overhead. Deploy runs as an independent parallel job. ESLint and tsbuildinfo caches are persisted across CI runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add incremental: true to tsconfig.json and cache tsconfig.tsbuildinfo between CI runs. This allows tsc to skip re-checking unchanged files, significantly reducing type-check times on subsequent runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use concurrently to run test:packages, test:web:main, and test:web:side-effects in parallel during CI. The test:web script retains sequential execution for local dev where side-effects tests need isolation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fd8139c to
997779a
Compare
Member
Author
|
No meaningful change, closing. |
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.
Description
Optimizes the CI pipeline through 5 incremental changes that reduce total CI time by parallelizing work and adding caching:
singleThread: trueconstraint to allow parallel test execution across threadsci.ymlthat runs lint, type-check, test, and deploy as parallel jobs. Packages are built once and shared via artifact uploadincremental: trueand cachetsconfig.tsbuildinfobetween runs so tsc skips unchanged filestest:packages,test:web:main, andtest:web:side-effectsconcurrently using the existingconcurrentlydependency.eslintcachebetween CI runs so ESLint skips re-linting unchanged filesBefore
After
Issue (if applicable)
N/A — performance optimization
Risk
Low risk. CI workflow changes only affect the CI pipeline itself. The vitest threading change could surface latent race conditions in tests, but side-effects tests are already isolated in their own config.
None — CI-only changes.
Testing
Engineering
Operations
CI-only changes, no user-facing impact.
Screenshots (if applicable)
N/A