refactor(ci): consolidate workspace CI jobs with dynamic matrix detection (2 of 4)#1560
Merged
jeanduplessis merged 2 commits intomainfrom Mar 26, 2026
Merged
Conversation
Contributor
Code Review SummaryStatus: 3 Issues Found | Recommendation: Address before merge Overview
Fix these issues in Kilo Cloud Issue Details (click to expand)WARNING
Other Observations (not in diff)Issues found in unchanged code that cannot receive inline comments:
Files Reviewed (3 files)
Reviewed by gpt-5.4-20260305 · 230,198 tokens |
16ab028 to
f5b86da
Compare
…tion - Replace 6 hardcoded per-workspace CI jobs with a single dynamic matrix job - Add scripts/changed-workspaces.sh for automatic workspace change detection - Use scripts/lint-all.sh and scripts/typecheck-all.sh in CI - Add kilocode_backend change filter to skip test/build when only workers change - Gate test/build/workspace jobs on lint+typecheck+format+drizzle passing - Move dependency-cycle-check into test job (eliminates separate CI runner) - Simplify root typecheck to root-only (workspaces checked via typecheck-all.sh)
7e2f356 to
9a0f8ef
Compare
f5b86da to
6e68d12
Compare
…d dependency changes - Add pnpm-lock.yaml, next.config.mjs, jest.config.ts, postcss.config.mjs, sentry.*, and tsconfig.*.json to the kilocode_backend change filter so config-only changes still trigger test and build jobs - Treat all workspaces as changed when pnpm-lock.yaml, pnpm-workspace.yaml, or packages/** are modified, since shared dependency updates can break any downstream workspace
pandemicsyn
approved these changes
Mar 25, 2026
auto-merge was automatically disabled
March 26, 2026 00:12
Pull request was closed
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.
Summary
PR series: 2 of 4 — merge in order: #1559 oxlint → this PR → #1561 email → #1562 trpc
Restructure CI to replace 6 hardcoded per-workspace jobs with a single dynamic matrix job:
scripts/changed-workspaces.sh— detects which workspaces have file changes and a test script, outputs a JSON matrix for GitHub Actionswebhook-agent,security-auto-analysis,kiloclaw,app-builder,cloudflarejobs with a singleworkspace-testsmatrix jobcloud-agentandcloud-agent-nextas dedicated jobs (they need bun and custom build steps)kilocode_backendchange filter to skiptest/buildjobs when only worker code changestest,build,cloud-agent*, andworkspace-testsontypecheck + lint + format-check + drizzle-checkpassing firstdependency-cycle-checkinto thetestjob (eliminates a separate CI runner)typecheckscript to root-only (workspaces now checked viatypecheck-all.shin CI)scripts/lint-all.shandscripts/typecheck-all.shin the lint and typecheck CI jobsVerification
scripts/lint-all.sh— passscripts/typecheck-all.sh --changes-only— passpnpm format:check— passVisual Changes
N/A
Reviewer Notes
changed-workspaces.shusesgit merge-base origin/main HEADto detect which workspace dirs have changes, then filters to only those with atestscript in package.json. It outputs JSON consumable byfromJson()in the GitHub Actions matrix strategy.refactor/eradicate-eslint-1-oxlint). After refactor: remove ESLint and port all lint rules to oxlint (1 of 4) #1559 merges, retarget this tomain.