mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-07-07 13:08:54 -07:00
a4927a3bbd
- extract test lane config to scripts/test-lanes.ts (single source of truth) - run-test-lane.mjs: per-file bun process isolation with wall timeout; --jobs N, --single-process flags - drop hand-listed test file lists from package.json; lanes now discovered by directory - add test:stats (stats/src) and test:scripts (scripts/**) lanes; wire both into CI - test:fast now: test:src + launcher-unit + test:scripts + test:runtime:compat - remove obsolete test:full, test:core, test:core:dist, test:config:dist scripts
2.3 KiB
2.3 KiB
Verification
Status: active
Last verified: 2026-07-06
Owner: Kyle Yasuda
Read when: selecting the right verification lane for a change
Lane Infrastructure
- Lane membership is defined once in
scripts/test-lanes.tsand discovered by directory — new test files join their lane automatically; never hand-list test files inpackage.json. scripts/run-test-lane.mjsruns each test file in its ownbun testprocess (per-file isolation with a wall timeout) so a hanging test or leaked global in one file cannot cascade into the rest of the lane.--jobs Nparallelizes;--single-processrestores the shared-process mode for debugging.bun run test:fastis the full source gate: discoveredsrc/**, launcher unit,scripts/**, and the compiled runtime-compat slice.
Default Handoff Gate
bun run typecheck
bun run test:fast
bun run test:env
bun run build
bun run test:smoke:dist
If docs-site/ changed, also run:
bun run docs:test
bun run docs:build
Cheap-First Lane Selection
- Docs-only boundary/content changes:
bun run docs:test,bun run docs:build - Internal KB /
AGENTS.mdchanges:bun run test:docs:kb - Config/schema/defaults:
bun run test:config, thenbun run generate:config-exampleif template/defaults changed - Launcher/plugin:
bun run test:launcherorbun run test:env - Runtime-compat / compiled behavior:
bun run test:runtime:compat - Stats dashboard UI:
bun run test:stats - Build/release scripts (
scripts/**):bun run test:scripts - Coverage for the maintained source lane:
bun run test:coverage:src - Deep/local full gate: default handoff gate above
Coverage Reporting
bun run test:coverage:srcruns the maintainedtest:srclane through a sharded coverage runner: one Bun coverage process per test file, then merged LCOV output.- Machine-readable output lands at
coverage/test-src/lcov.info. - CI and release quality-gate runs upload that LCOV file as the
coverage-test-srcartifact.
Rules
- Capture exact failing command and error when verification breaks.
- Prefer the cheapest sufficient lane first.
- Escalate when the change crosses boundaries or touches release-sensitive behavior.
- Never hand-edit
dist/launcher/subminer; validate it through build/test flow instead.