Skip to content

CI: run database-backed package suites in walking-skeleton - #430

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-7120-ci-never-runs-the-40-database-backed-package-test-suites
Aug 29, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-7120-ci-never-runs-the-40-database-backed-package-test-suites

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Aug 28, 2026 •

Copy link
Copy Markdown
Contributor

Fixes CL-7120 — https://linear.app/abklabs/issue/CL-7120

Problem

Every DB-gated suite under packages/* and apps/hub/src gates on
e2eDatabaseUrl() (scripts/e2e/harness.ts:27-38) and describe.skips
without a database; their headers claim E2E_REQUIRED=1 turns that
into a loud failure. In .github/workflows/ci.yml, build-test (the
only job running bun run test) has no Postgres and never sets
E2E_REQUIRED; walking-skeleton (the only job with Postgres) only
ran scripts/e2e, test/isolation, and apps/hub/test. As a result
~39 test files skip green on every CI run.

Change

  • Add a step to walking-skeleton, after the hub DB suites step, that
    runs every DB-gated suite (grep -rl DATABASE_URL --include='*.test.ts' packages apps, excluding apps/hub/test which already runs) with
    E2E_REQUIRED: "1" against the job's existing Postgres service.
    Discovering suites by the same DATABASE_URL signal they gate on
    means a newly added suite is picked up automatically, with no
    hardcoded file list to maintain.
  • build-test is unchanged and stays the no-DB unit gate.
  • Note: apps/hub/src/artifacts-mount.test.ts matches the DATABASE_URL
    grep and will run in the new step, but it isn't actually DB-gated — it
    mounts against a stubEngine, not a live Postgres connection. It's
    harmless to include (no real DB dependency to fail on) and excluding
    it would need a special case, so it's left in.
  • This is a CI-only change; there is no new unit test to
    write beyond exercising the existing suites against a real database.

Tests

Ran the exact suites the new step will run, locally against Postgres:

E2E_REQUIRED=1 bun test $(grep -rl DATABASE_URL --include='*.test.ts' packages apps | grep -v apps/hub/test)
# 126 pass, 0 fail, across 39 files, ~9-70s wall time

The existing walking-skeleton job runs in ~4.5 minutes; the added
step adds well under a minute, staying inside the job's 20-minute
timeout.

@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Dropped the needs-you.test.ts gating commit: #424 deletes that file, so the edit was moot and only produced a merge conflict with the re-pin stack. The CI change stands alone.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7120-ci-never-runs-the-40-database-backed-package-test-suites branch from 041040d to fe89754 Compare August 28, 2026 18:56
The ~40 DB-gated test suites under packages/* and apps/hub/src gate on
DATABASE_URL and skip without one. build-test (the only job running
`bun run test`) has no Postgres and never sets E2E_REQUIRED, so these
suites have been skipping green on every CI run despite headers
claiming E2E_REQUIRED=1 turns a skip into a failure.

Add a step to walking-skeleton (the job with Postgres) that runs
exactly those suites with E2E_REQUIRED=1, discovering them by the same
DATABASE_URL grep signal they gate on so a newly added suite is picked
up automatically.

This is a CI-only change; there is no unit test to write.

Fixes CL-7120.
@TheGreatAxios
TheGreatAxios force-pushed the cl-7120-ci-never-runs-the-40-database-backed-package-test-suites branch from fe89754 to d970e3b Compare August 29, 2026 04:46
@TheGreatAxios
TheGreatAxios merged commit 61d71ef into main Aug 29, 2026
5 checks passed
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