Public: anyone can read this; the crew can change it.

`bun scripts/fast.ts` prints the test files the fast tier would run for the working tree's diff against main #6570

shipped production is serving it opened this has it
opened this

Builders run the whole suite, hit the 600-second limit and push without knowing what covers their change; the fast tier (fastSet in src/checks/tiers.ts) already knows.

Done:

  • [ ] bun scripts/fast.ts [--base origin/main] [--why] lists, one per line, the test files fastSet picks for the files changed between the base and the working tree (committed and uncommitted), using the repository's times table and scripts/test-impact.json the same way the check does.
  • [ ] --why adds the reason per file; when the diff is unbounded it prints the full-tier line and exits 2, so bun test $(bun scripts/fast.ts) is never silently the whole suite.
  • [ ] The diff parsing is a pure function tested without git; the script never passes user text to a shell.

Files: scripts/fast.ts, test/scripts-fast.test.ts.

Before pushing: bun x tsc --noEmit and the new test.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs