Complete direct Bun repository test execution (Fixes #2578) - #3171
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 13 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (13)
Comment |
OpenCodeReview — automatic reviews suspendedAutomatic OCR reviews are suspended for this PR after 2 of 2 automatic reviews. To get more reviews you can:
OpenCodeReview — PR #3171
|
WalkthroughBefore this PR, the repository’s test workflow still carried Vitest-era baggage: runtime and config code checked for Vitest-specific environment variables, the pre-push hook cleaned up lingering Vitest processes, and the documentation did not fully reflect the Bun-native execution path as the single canonical workflow. After this PR, repository test execution is completed through direct Bun invocation; core runtime/test detection logic no longer carries Vitest-specific environment checks, the pre-push check matches the Bun-native flow, and a strengthened guard actively prevents Vitest references from being reintroduced. Documentation now describes the canonical Bun commands, credential requirements for excluded roots, and the completed migration state. Release NotesNew Features
Bug Fixes
Tests
Documentation
Refactor
Chore
Changes
Magnitude🎯 2 (M) Related
Pre-merge Checks
Walkthrough generated by LLxprt PR Review. Planner issue: #2256 |
41bc3e9 to
4c4aca0
Compare
TLDR
Completes the direct-Bun test migration umbrella by making the complete credentialed suite explicit, removing the final active Vitest runtime signal and obsolete cleanup, strengthening the zero-Vitest guard, and bringing the checked-in inventory and contributor docs in line with the repository's actual Bun-native execution model.
Dive Deeper
Acceptance evidence
dev-docs/test-runner-inventory.mdnow accounts for all 2,545 discovered test files and maps every root to its direct Bun command.test:bun:allrunstest:bun, thesandbox:noneintegration suite, and all evals in fail-fast order. Existingtest:bunremains the complete uncredentialed repository suite across all 16 workspaces plusscripts/tests.process.env.VITESTsignaling is removed.NODE_ENV=testremains the runner-independent test signal. The no-Vitest guard has direct Bun behavioral tests for dot and bracket environment references and false-positive controls.viAPI, guard fixtures, and inert command-orchestrator fixture values. None is an active Vitest execution surface.CONTRIBUTING.md,dev-docs/bun.md, the inventory, andpackage.jsonconsistently identifytest:bun:allas the complete credentialed command andtest:bunas the complete uncredentialed command.Mutation tooling boundary
Terminal issue #2970 and PR #3145 established that every Stryker configuration depended on dead Vitest execution, was absent from required workflows, and could not load Bun test suites. This PR does not recreate mutation tooling: doing so would add a new subsystem rather than preserve functioning migration behavior.
Behavioral changes
test:bun:allscript.process.env.VITESTwhile preservingNODE_ENV=testbehavior.pkill-based Vitest cleanup from the pre-push hook.Review evidence
NODE_ENVbehavior, and mutation-tooling boundary. Its residual-text classification finding was fixed.Reviewer Test Plan
bun run lint:no-vitestand confirm all active Vitest execution andprocess.env.VITESTforms are rejected.bun scripts/check-test-file-coverage.tsand confirm zero uncovered and zero doubly executed files.bun run lint:test-shardsandbun run lint:cli-test-discovery.bun test scripts/tests/test-bun-all-script.bun.test.ts scripts/tests/no-vitest-env-reference.test.ts scripts/tests/no-vitest-guard.test.ts packages/core/src/utils/memoryDiscovery.test.ts packages/core/src/utils/memoryDiscovery.subfunctions.test.ts.bun run test:bunfor the full uncredentialed suite.bun run test:bun:allto includesandbox:noneintegration tests and evals.Testing Matrix
Local verification on macOS:
scripts/testsfiles passed by bounded composition.test:bun:allwas not run locally; its fail-fast command contract is covered directly, while credentialed integration and eval execution remains exercised by their established CI paths.Linked issues / bugs
Fixes #2578
Related: #2970