chore(ci): trim darwin test profile - #12405
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (2 files)
The current diff against Previous Review Summaries (2 snapshots, latest commit dafb3c2)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit dafb3c2)Status: No Issues Found | Recommendation: Merge Files Reviewed (9 files)
Incremental review: the latest commit only removes Previous review (commit 58cf6ff)Status: No Issues Found | Recommendation: Merge Files Reviewed (9 files)
Reviewed by claude-sonnet-5 · Input: 30 · Output: 7.3K · Cached: 624.3K Review guidance: REVIEW.md from base branch |
|
Final profile-only measurement from run 29815173247 (commit
The macOS profile trim has a clear effect:
The full workflow is now gated by Windows 1/4 at 7m21s, not macOS. This clean run is 6m16s faster than the slow baseline but 24s slower than the fastest recent baseline because Windows and HttpApi were slower in this sample. One run does not support a claim of reliably sub-8-minute total wall time. The durable result is that the variable 7-14 minute macOS tail is removed; further reliable wall-time reduction must target Windows 1/4, HttpApi variance, or workflow startup/tail overhead. A pre-existing |
9c60044 to
4e1655d
Compare
…bottlenecks chore(ci): trim darwin test profile
Problem
On CLI-touching PRs the unit pipeline gates at 11-14 minutes, set by the single
unit (macos)job. Linux (2 shards) and Windows (4 shards) usually finish in 5-8 minutes.The darwin profile drifted far beyond macOS-specific coverage. It ran 100 files containing ~1300s of test time, dominated by platform-neutral application logic that the full Linux and Windows suites already cover. From a recent main junit artifact:
session/prompt.test.tskilocode/daemon.test.tscli/acp/lifecycle.test.tscli/smokes/read-only.test.tscli/run/run-process.test.tssnapshot/snapshot.test.tskilocode/server/config-overlay.test.tsEvery file also runs roughly 3x slower on the 3-vCPU
macos-15runner, making macOS the most expensive place to duplicate platform-neutral coverage.Change
Trim the darwin profile to 24 files whose failure would indicate a macOS-specific problem:
kilocode/sandbox/*, including tests that no-op on Linux)core-watcher)background-process,interactive-terminal,tool/shell,util/process)kilo serveboot smoke and the darwin install artifactEvery removed test continues to run in the full Linux and Windows suites. Existing Linux and Windows sharding is unchanged. Non-CLI package tests also remain on macOS because
kilo-sandboxcontains genuine seatbelt coverage.The profile's recorded test workload drops from ~1300s to ~218s without committing generated test inventories or timing snapshots.
Full list of the 76 files removed from the darwin profile (all still run on Linux and Windows)
session/prompt.test.ts,snapshot/snapshot.test.ts,kilocode/snapshot-{cache,freeze-repro,revert-move,seed}.test.ts,kilocode/session-diff-restore.test.tskilocode/daemon.test.ts,cli/acp/lifecycle.test.ts,cli/run/run-process.test.ts,cli/smokes/read-only.test.ts,cli/tui/{plugin-lifecycle,plugin-loader-entrypoint,thread}.test.ts,kilocode/cli/cmd/serve.test.tsserver/{experimental-session-list,httpapi-experimental,httpapi-file,httpapi-listen,httpapi-reference,httpapi-workspace-routing,project-init-git,worktree-endpoint-repro}.test.ts,kilocode/server/{config-overlay,listener-runtime,tui-config,worktree-list}.test.ts,kilocode/mcp-oauth-callback.test.tsconfig/{config,tui}.test.ts,control-plane/workspace.test.ts,kilocode/config/config.test.ts,project/{instance,instance-bootstrap,migrate-global,project,project-directory,vcs,worktree,worktree-remove}.test.tskilocode/session-export/{e2e,sequence,worker,workspace-provider}.test.ts,kilocode/session-export/worker/{storage,zstd}.test.tskilocode/{primary-worktree,worktree-diff,worktree-diff-summary,worktree-family,worktree-family-submodule,worktree-project-skills,worktree-remove-lock}.test.tstool/{apply_patch,edit,glob,grep,read,recall,registry,skill,truncation,write}.test.ts,plugin/{install-concurrency,loader-shared}.test.ts,kilocode/tool/repo_clone.test.tskilocode/{diff-full,indexing-worker,indexing-worktree,project-id,task-nesting}.test.ts,fixture/fixture.test.ts,git/git.test.ts,image/image.test.ts,util/{glob,module}.test.tsKept (24 files):
kilocode/sandbox/*(11, seatbelt is macOS-only),pty/*+server/httpapi-pty.test.ts,kilocode/{background-process,core-watcher,external-directory-boundary,interactive-terminal,read-directory}.test.ts,kilocode/cli/install-artifact.test.ts,cli/serve/serve-process.test.ts,tool/shell.test.ts,filesystem/filesystem.test.ts,util/{filesystem,process,which}.test.ts.