Skip to content

ci: split build job into parallel per-package jobs#95

Merged
plusplusoneplusplus merged 2 commits into
mainfrom
dev/improve-ci
May 15, 2026
Merged

ci: split build job into parallel per-package jobs#95
plusplusoneplusplus merged 2 commits into
mainfrom
dev/improve-ci

Conversation

@plusplusoneplusplus
Copy link
Copy Markdown
Owner

Split the monolithic build matrix job into independent lint, forge-test, coc-test, deep-wiki-test, and extension-test jobs that run in parallel. Add a ci aggregator job (single status check for branch protection) and keep package as the VSIX builder gated on all checks.

Split the monolithic build matrix job into independent lint, forge-test,
coc-test, deep-wiki-test, and extension-test jobs that run in parallel.
Add a ci aggregator job (single status check for branch protection) and
keep package as the VSIX builder gated on all checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
The coc package has ~1190 vitest test files and dominates CI wall-clock.
Split each coc-test matrix entry into 3 shards via vitest --shard so
each runner only executes ~400 files. Linux shards still collect
coverage (now into per-shard coverage-final.json artifacts) and a new
coc-coverage merge job uses `nyc report --temp-dir` to combine them
back into a single lcov.info / cobertura / html report.

- packages/coc/vitest.config.ts: add 'json' to the coverage reporter
  list so each shard emits coverage-final.json (required by nyc merge).
- scripts/coverage-diff.sh: support SKIP_TESTS=1 so the diff filter can
  reuse an already-aggregated lcov.info instead of re-running tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@plusplusoneplusplus plusplusoneplusplus merged commit fb3ad9e into main May 15, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant