Skip to content

perf(test): reduce CLI E2E startup overhead - #181

Open
XXPermanentXX wants to merge 2 commits into
mainfrom
perf/registry-smoke-inprocess
Open

perf(test): reduce CLI E2E startup overhead#181
XXPermanentXX wants to merge 2 commits into
mainfrom
perf/registry-smoke-inprocess

Conversation

@XXPermanentXX

Copy link
Copy Markdown
Collaborator

Summary

  • render registered command and group help in-process with the real CommandRegistry
  • migrate ordinary command --help assertions to the shared in-process helper while retaining representative subprocess smoke coverage
  • run remaining TypeScript subprocess entrypoints with node --import tsx to avoid the tsx CLI IPC startup
  • add helper/runner contract tests and update the E2E maintenance guide

No production CLI behavior is changed.

Performance

Local runs with two Vitest workers:

  • command help subset: 63.70s → 15.58s (about 75% faster)
  • dry-run subset: 95.89s → 84.27s in the isolated profiling run (about 12% faster)

GitHub Actions remains the authoritative end-to-end timing.

Verification

  • vp check — 0 errors; 5 pre-existing warnings
  • affected help/registry/runner tests — 337 passed, 560 skipped
  • vp run -r build — passed outside the managed sandbox
  • git diff --check main...HEAD — passed

A broad local -t dry-run run inherited developer Profile/.env state and reported unrelated default-value/network/local-listener failures (187 passed, 6 failed). The live API suite was not used as a completion gate to avoid external calls; CI should validate the clean-environment test matrix.

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