Skip to content

chore(scripts)!: delete script tests and move e2e suites to root e2e/ (CL-8316) - #822

Merged
TheGreatAxios merged 1 commit into
mainfrom
scripts-cleanout
Sep 17, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
scripts-cleanout

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

Owner ruling: we don't need to test our scripts, and scripts/ carried
repro/lib/git-hooks/e2e clutter that doesn't belong there.

  • Deletes every scripts/*.test.* (top level and scripts/e2e/),
    including tests of the harness, db-gate, list-suites, and db-setup.
  • Deletes scripts/repro/, scripts/lib/ (its only file,
    publishable-packages.ts, had no consumers — deleted rather than
    inlined), scripts/git-hooks/, scripts/hooks-install.ts (and the
    hooks:install/prepare package.json scripts),
    scripts/backfill-principal-keys.ts (a one-off backfill — cutovers
    are breaking, no backfills), scripts/generate-tsconfig-references.ts
    (unreferenced by anything, including typecheck.ts's comments, now
    updated), and scripts/e2e/docker-sidecar-smoke.ts +
    scripts/e2e/list-suites.ts (unreferenced).
  • Creates root e2e/ and moves the real harness/support files there:
    harness.ts, db-gate.ts, database-url.ts,
    noop-inference-server.ts, workflow-source.ts,
    browser/walkthrough.ts. scripts/db-setup.ts stays in scripts/;
    imports were fixed accordingly.
  • Updates every scripts/e2e/... import across the repo (~30 files:
    packages/, apps/, tools/, docs, .gitignore, .github/workflows/ci.yml)
    to e2e/....
  • Root package.json: test is now bun run scripts/run-all.ts test
    (no more bun test ./scripts/*.test.ts); test:e2e is
    bun test e2e --max-concurrency=1; e2e added to the lint, fmt,
    and fmt:check path lists.

Per-suite keep/delete reasoning

Checked every suite's routes/imports against what apps/hub/src/server.ts
actually mounts and what files still exist on main:

  • smoke-auth — kept, moved to e2e/. Only touches
    /api/auth/* and /api/me/principals, both still mounted; imports
    resolve.
  • smoke-webhook — kept, moved to e2e/. Uses
    POST /api/tenants, the native workflow-deploy route, and
    @corbits/webhook-triggers's ingress route — all still mounted.
    packages/tool-registry-publish, packages/hub-api-client, and
    agents/assistant all still exist and export what it imports.
  • walking-skeleton — kept, moved to e2e/. Same route/import
    surface as smoke-webhook (tenant creation, git-backed workflow asset
    publish, native deploy); still current.
  • t3-github-roundtrip.proof — kept, moved to e2e/. Calls
    /api/tenants/:id/connections/github/complete and .../disconnect,
    which packages/connections/src/connect-github-routes.ts still
    serves.
  • smoke-chat — deleted. Calls
    POST /api/tenants/:id/chat/workbenches and sibling
    chat/workbenches/* routes; apps/hub/src/server.ts no longer mounts
    any chat/workbenches route — chat is now mail over
    @corbits/mailbox. Dead suite, not moved.
  • smoke-onboarding — deleted. It already only exercises stock
    POST /api/tenants plus a benchless-signup assertion — no route or
    import is stale, but it duplicates the tenant-creation hop that
    smoke-webhook and walking-skeleton already cover end to end, and it
    was written specifically to prove the (now long-settled) provisioning
    cutover. Kept it would just be a slower, redundant re-run of a step
    the surviving suites already assert on.

Test plan

  • bun run typecheck
  • bun run lint
  • bun run fmt (clean, no diff after)
  • bun run test — 766 pass / 0 fail across all packages. The one
    non-zero exit is @intx/hub-agent (vendor/intx/hub-agent)
    reporting "0 test files matching" — a pre-existing vendored
    package with no test files, unrelated to this change.

Owner ruling: scripts don't need tests, and scripts/ should not carry
repro/lib/git-hooks/e2e clutter. Deletes every scripts/*.test.ts (including
tests of the harness, db-gate, list-suites, and db-setup), scripts/repro/,
scripts/lib/ (its one file, publishable-packages.ts, was unused),
scripts/git-hooks/, scripts/hooks-install.ts (and the hooks:install/prepare
package.json scripts), scripts/backfill-principal-keys.ts (a one-off
backfill; cutovers are breaking), scripts/generate-tsconfig-references.ts
(unreferenced), and scripts/e2e/docker-sidecar-smoke.ts + list-suites.ts
(unreferenced).

Moves the real e2e harness and suites to a root e2e/ directory:
harness.ts, db-gate.ts, database-url.ts, noop-inference-server.ts,
workflow-source.ts, browser/walkthrough.ts, and the suites that still
match what main actually mounts: smoke-auth, smoke-webhook,
walking-skeleton, and t3-github-roundtrip.proof. Deletes smoke-chat and
smoke-onboarding: smoke-chat calls chat/workbenches routes the hub no
longer mounts (chat is now mail over @corbits/mailbox), and
smoke-onboarding is now redundant with the tenant-creation steps already
covered inside smoke-webhook/walking-skeleton.

Updates every scripts/e2e import across the repo to e2e/, adds e2e to the
lint/fmt/fmt:check path lists, and points `test` at `bun run
scripts/run-all.ts test` (no more bun test ./scripts/*.test.ts) and
`test:e2e` at `bun test e2e --max-concurrency=1`.
@TheGreatAxios
TheGreatAxios merged commit 28bc096 into main Sep 17, 2026
@TheGreatAxios TheGreatAxios changed the title chore(scripts)!: delete script tests and move e2e suites to root e2e/ chore(scripts)!: delete script tests and move e2e suites to root e2e/ (CL-8316) Sep 17, 2026
@linear-code

linear-code Bot commented Sep 17, 2026

Copy link
Copy Markdown

CL-8316

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