docs(vercel): lead with the four-step deploy, and fix the install e2e - #245
Merged
Merged
Conversation
The page predated the Deploy Button. It told the reader to import their own repository, set a build command of `community migrate && forum-web build` — without `--at-root`, so the artefact lands where Vercel does not read it — and to bring their own managed Postgres, Redis, mail provider and domain. All four now arrive with the deploy. It opens with the route: press the button, connect the four products, generate two secrets, deploy, open /install. Everything that is not a step moved behind it, split into what decides whether the route suits you at all and what to come back to when the platform behaves unlike a server. The manual route is kept whole under its own heading, with the build command corrected and the requirements table that used to be at the top. The two anchors other documents link to are preserved verbatim. The install e2e started from a genuinely empty database and relied on the installer to migrate it, so it failed on its first step rather than reaching the validation error it was written to test. The fixture had conflated applying the schema with inserting fixture rows under one flag; they are separate now, and the install database carries the schema with no rows — the state a board is genuinely in when someone opens /install. A genuinely empty one would fail that step, and correctly so.
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.
Two things, bundled because the second is fallout from #244 and blocking CI.
The Vercel page predated the Deploy Button
It was not merely badly ordered — it was wrong. It told the reader to import their own repository and set a build command of:
community migrate && forum-web buildwith no
--at-root, so the artefact lands two directories from where Vercel reads it. And its "What you need" table asked for a managed PostgreSQL, a managed Redis, a mail provider and a domain. All four now arrive with the deploy.The new shape
## Deploy it— four steps at the top. Press the button, connect the four products (Neon, Upstash, Blob, Resend), generate the two 32-character secrets, deploy, open/install. Plus the one value worth checking afterwards,APP_URL.## Before you commit to this route— who it suits, what it costs, the limits no configuration moves.## Things to know— the tick and its cadence,maxDuration, build-time migration, the installer, mail, blob vs bucket, both database strings, the derivation order.## Configuring a project by hand— the manual route kept whole, with the build command corrected and the requirements table that used to sit at the top.## Leaving Vercel— unchanged, and still the section that makes the rest of the page acceptable.Nothing was deleted; the page went from 845 to ~920 lines. The reorganisation was done by parsing the file into sections and reassembling them, rather than retyping, so moved prose is byte-identical.
The two anchors other documents link into are preserved verbatim —
#how-the-blob-store-authenticates(fromdisaster-recovery.mdandscaling.md) and#when-a-derivation-cannot-resolve(frominternationalisation.md). Self-links to the three renamed headings were rewritten;docs:links:checkpasses across 31 documents and 659 headings.The install e2e assumed the installer migrates
install-no-js.spec.tsstarts from what it called an empty database and expects to reach a validation error at "Create the administrator". #244 stopped the installer applying migrations, so it now fails at step 1 instead:The fixture had conflated two things under one
seededflag: applying the schema, and inserting fixture rows. They are separate now. The install database is{ seeded: false, migrated: true }— schema, no rows — which is the state a board is genuinely in when someone opens/install: migrations run before the board serves anything, from the container entrypoint or the deploy build command.A genuinely empty database would now fail that first step, and correctly so. That is the behaviour, not a gap in the test.
The board project's database is untouched:
migrateddefaults toseeded, so its code path is identical to before.Verification
pnpm verifygreen — 7,876 tests, 449 filesinstallproject passes locally, watched go green after the fixture changePLAYWRIGHT_CHROMIUM_PATHhatch — CI has the matching browser and needs nothingdocs:links:check,docs:index:checkandsite:docs:checkall passFixes MEI-135.
Generated by Claude Code