chore(ci): Split monolithic ci.yml into separate workflow files#1408
chore(ci): Split monolithic ci.yml into separate workflow files#1408
Conversation
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR refactors GitHub Actions CI workflows by extracting job-specific workflows for browser extension, website, and quality checks into separate dedicated workflow files, while removing those jobs from the main ci.yml workflow and updating its path-ignore filters to exclude browser/** and website/** directories. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
⚡ Performance Benchmark
Details
History9a71560 fix(ci): Add missing path triggers for .tool-versions and root sources
ecabeb3 chore(ci): Split monolithic ci.yml into separate workflow files
|
Deploying repomix with
|
| Latest commit: |
c164135
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://d9ebfdac.repomix.pages.dev |
| Branch Preview URL: | https://chore-split-ci-workflow.repomix.pages.dev |
Split the CI workflow into focused files with appropriate path filters: - ci.yml: Core lint, test, and build (paths-ignore website/, browser/) - ci-website.yml: Website client/server lint and bundle (paths: website/**) - ci-browser.yml: Browser extension lint and test (paths: browser/**) - ci-quality.yml: actionlint, zizmor, typos (broad paths-ignore) This reduces unnecessary job execution by ~40 jobs when only a subset of the codebase changes, and improves workflow readability. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ci-browser.yml: Add .tool-versions to paths so Node version bumps trigger browser lint/test - ci-website.yml: Add src/**, package.json, package-lock.json, and .tool-versions to paths since website-server jobs depend on root repomix build Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9a71560 to
c164135
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1408 +/- ##
=======================================
Coverage 87.40% 87.40%
=======================================
Files 116 116
Lines 4392 4392
Branches 1018 1018
=======================================
Hits 3839 3839
Misses 553 553 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Split the monolithic
ci.yml(~355 lines, ~40 jobs) into 4 focused workflow files with appropriate path-based filtering:ci.ymlpaths-ignore: website/**, browser/**ci-website.ymlpaths: website/**ci-browser.ymlpaths: browser/**ci-quality.ymlpaths-ignore(broad)Benefits:
workflow_dispatchfor manual triggering.github/workflows/ci-website.yml) ensure workflow file changes are also testedChecklist
npm run testnpm run lint