Cold-start CI gate: boot the public compose stack and drive the real first-run journey - #168
Open
pratikbodkhe wants to merge 1 commit into
Open
Cold-start CI gate: boot the public compose stack and drive the real first-run journey#168pratikbodkhe wants to merge 1 commit into
pratikbodkhe wants to merge 1 commit into
Conversation
…l setup-to-golden-path journey CI has never executed the artifact self-hosters actually run: docker compose up from a clean checkout. Every self-host show-stopper (unapplied migrations, dead Kong key substitution, missing role grants, no-admin seed) lived in that blind spot while all 16 supabase-start E2E shards stayed green. The new cold-start job generates .env non-interactively, builds and boots docker-compose.yml, waits for db/auth/rest health, then walks the /setup wizard through the real UI (token, admin creation, config, demo seed) and runs the golden path as that admin: board, seeded series, series create, issue raise, reload persistence, admin health. A verifier block fails CI if the job is ever unwired.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
CI has never executed the artifact self-hosters actually run:
docker compose upfrom a clean checkout. Every self-host show-stopper so far (migrations never applied, Kong key substitution dead, missing storage role grants, fresh seed with no admin) lived in exactly that blind spot while all 16supabase startE2E shards stayed green. This closes the class of bug most likely to kill an OSS launch: "I tried it and it didn't even start."What
cold-startCI job: generates.envnon-interactively, runsdocker compose up -d --buildon the real public compose file, waits for db/auth/rest/storage health, then drives the journey.playwright.cold-start.config.ts+e2e/cold-start/cold-start.spec.ts: one serial browser session walking the /setup wizard through the real UI (setup token, admin creation, instance config, demo seed), then the golden path as that admin: onboarding wizard, seeded demo data on the OIL board, series create, first meeting start, live issue capture, reload persistence, admin health, and the setup-guard inversion.scripts/wait-for-cold-start-stack.sh: readiness poll over/api/setup/check-envplus/api/admin/health(storage), setup-token authed.verify-self-host-migrations.test.mjsfails CI if the gate is ever unwired (env-before-build ordering, wait script, config, log capture).e2e/cold-start/(its wizard walk cannot pass on the seededsupabase startstack).Deliberate choices
docker compose up -d --buildwith no layer cache. Fidelity is the point: a cached/bake-based pipeline is not the build a stranger runs, and the baked-at-build-timeNEXT_PUBLIC_*args trap is only caught by the plain path. ~12 min per run, in budget next to the 16 e2e shards.docker compose down -v.Verification
test:self-host9/9,test:ci-workflows,test:oss-boundaries, lint 0 errors.