ci: add coverage lane headroom

This commit is contained in:
Tianyi Cui
2026-07-21 20:32:57 +08:00
parent e0775de689
commit 91bd51c23a
3 changed files with 62 additions and 14 deletions

View File

@@ -13,10 +13,11 @@ export interface CoverageShard {
/** Exhaustive, non-overlapping ownership of workspace packages in coverage CI. */
export const coverageShards = [
{
name: 'spine',
packageRoots: ['core', 'llm', 'compact', 'context'],
name: 'core',
packageRoots: ['core', 'context'],
extraTestRoots: ['packages/examples/cli-demo/tests'],
},
{ name: 'models', packageRoots: ['llm', 'compact'] },
{ name: 'sdk', packageRoots: ['sdk'] },
{
name: 'interfaces',
@@ -24,17 +25,34 @@ export const coverageShards = [
extraTestRoots: ['examples'],
},
{ name: 'execution', packageRoots: ['fs', 'bash', 'sandbox', 'code-runtime'] },
{ name: 'orchestration', packageRoots: ['workflow', 'subagent', 'tasks'] },
{
name: 'infrastructure',
packageRoots: ['cordis', 'support', 'lsp', 'mcp'],
name: 'workflow',
packageRoots: ['workflow/workflow', 'workflow/tool-workflow', 'workflow/tool-ralph'],
},
{ name: 'workflow-worker', packageRoots: ['workflow/workflow-workerthread'] },
{ name: 'delegation', packageRoots: ['subagent', 'tasks'] },
{
name: 'repository',
packageRoots: [
'cordis',
'support/acp-snapshot',
'support/agent-loop-testkit',
'support/llm-replay',
'support/loader-smoke',
],
},
{
name: 'scripts',
packageRoots: ['support/invariants'],
extraTestRoots: ['scripts'],
},
{ name: 'integrations', packageRoots: ['lsp', 'mcp'] },
{
name: 'session-state',
packageRoots: ['session-persistence', 'session-query'],
},
{ name: 'hooks-claude', packageRoots: ['hooks/hook-protocol', 'hooks/hooks-claude'] },
{ name: 'hook-protocol', packageRoots: ['hooks/hook-protocol'] },
{ name: 'hooks-claude', packageRoots: ['hooks/hooks-claude'] },
{ name: 'hooks-codex', packageRoots: ['hooks/hooks-codex'] },
{
name: 'capabilities',

View File

@@ -42,8 +42,8 @@ for (const manifestPath of manifests) {
// Keep the staged view below its owning package so Node reaches the real
// pnpm dependency links. Junctioning node_modules elsewhere breaks pnpm's
// relative workspace links on Windows. Copy only the statically required
// runtime entry so a companion that imports an undeclared chunk fails here.
// relative workspace links on Windows. Copy the manifest-declared lib view
// so a companion that imports an undeclared runtime chunk fails here.
const stagedPackageDir = mkdtempSync(resolve(packageDir, '.dsh-built-invariant-'))
try {
copyFileSync(resolve(packageDir, 'package.json'), resolve(stagedPackageDir, 'package.json'))