Repository navigation
Split walking-skeleton CI and cut repeated install tax - #471
TheGreatAxios merged 4 commits into
Conversation
The db-suites job pointed DATABASE_URL at a bare Postgres service container and ran the suites straight away. Nothing had created or migrated the database, so the hub's mount tests failed with "database \"workbench\" does not exist". The package suites resolve their URL through e2eDatabaseUrl(), which appends an _e2e suffix, so they need a second database created the same way. Both are now created and migrated by scripts/db-setup.ts before the suites run. e2e and isolation are unaffected: they provision their own schema through the harness.
|
Reviewed against CL-7187's acceptance criteria, the CI YAML diff, and the two open questions about test coverage and flakiness. Verified against acceptance criteria — all satisfied:
Same-tests-still-run verdict: confirmed by diffing the old CI flakiness ("stolen state cookie" test) verdict: that test lives in
No code changes needed. |
Fixes https://linear.app/abklabs/issue/CL-7187/split-the-walking-skeleton-ci-job-and-cut-repeated-install-tax
Walking-skeleton is no longer one blob: e2e, isolation, and database-backed package+hub suites each get their own job, Postgres, and timeout.
Setup is a composite that installs Bun, restores caches, and runs frozen install. Checkout stays in the workflow so we do not clone twice. Jobs that do not need merge-base stay shallow; typecheck, build-test, and structural take a full clone.
CI package fan-out uses all runner cores. Lint result caches are keyed on Bun, lockfile, eslint config, and prettier config. node_modules restore is the optional experiment — revert if workspace linking goes stale.
Database-backed suites still run every PR with E2E_REQUIRED=1.