perf(ci): cut CI wall time from ~10min to ~5min#512
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Key optimizations: - ci.yml: Merge double test execution (pnpm test + pnpm test:coverage) into single run, saving ~5min - ci.yml: Remove unnecessary node-version matrix (only 20.x was used) - ci.yml: Add concurrency control to cancel in-progress runs on same PR - ci.yml: Use cache/restore for E2E job to leverage build job's turbo cache - ci.yml: Add conditional docs build (skippable via [skip docs] in PR title) - storybook-tests.yml: Merge 2-job pipeline into 1 job (was rebuilding everything in second job) - storybook-tests.yml: Add path filtering to skip when no package/storybook changes - storybook-tests.yml: Add concurrency control - changeset-release.yml: Add turbo cache - visual-regression.yml: Add concurrency control - performance-budget.yml: Add concurrency control - size-check.yml: Add turbo cache and concurrency control Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Optimize CI and automation test scripts for faster execution
perf(ci): cut CI wall time from ~10min to ~5min
Feb 14, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR optimizes CI/CD workflows to reduce wall time from ~10 minutes to ~5 minutes by eliminating redundant test runs, removing unnecessary build steps, and adding concurrency controls to cancel stale workflow runs.
Changes:
- Eliminated double test execution in
ci.ymlby running onlypnpm test:coverageinstead ofpnpm testfollowed bypnpm test:coverage - Consolidated Storybook workflow from 2 sequential jobs into 1, eliminating redundant package rebuild
- Added concurrency groups with
cancel-in-progress: trueto all performance-critical workflows - Optimized caching strategy for E2E tests (read-only cache restore) and added missing turbo cache to release workflows
- Made docs build job skippable on PRs via
[skip docs]in PR title
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/ci.yml | Removed matrix strategy, consolidated test execution to single test:coverage run, changed E2E to use cache/restore, added concurrency group and docs job skip condition |
| .github/workflows/storybook-tests.yml | Merged storybook-build and storybook-test into single job, added path filtering and concurrency group |
| .github/workflows/visual-regression.yml | Added concurrency group with cancel-in-progress |
| .github/workflows/size-check.yml | Added turbo cache step and concurrency group |
| .github/workflows/performance-budget.yml | Added concurrency group with cancel-in-progress |
| .github/workflows/changeset-release.yml | Added missing turbo cache step for build optimization |
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.
CI runs ~9-10 minutes per push. Root cause: tests execute twice and several workflows contain redundant rebuilds.
Changes
ci.yml — eliminates ~5min
pnpm testthenpnpm test:coveragere-runs all ~4000 tests. Replaced with singlepnpm test:coverage.node-version: [20.x]single-element matrix adds overhead for nothing. Removed.cancel-in-progress: truekeyed on PR number to kill stale runs.actions/cache@v5toactions/cache/restore@v5— E2E only reads the build job's turbo cache, no need to re-save.[skip docs]in title.storybook-tests.yml — eliminates redundant rebuild
storybook-testdepended onstorybook-buildbut shared no artifacts, so it rebuilt everything from scratch. Now a single job.packages/**,.storybook/**,pnpm-lock.yaml.cancel-in-progress.Other workflows
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.