Skip to content

docs: a contributor following CONTRIBUTING ran 64% of the tests - #286

Merged
AKogut merged 1 commit into
mainfrom
docs/contributor-setup
Aug 18, 2026
Merged

docs: a contributor following CONTRIBUTING ran 64% of the tests#286
AKogut merged 1 commit into
mainfrom
docs/contributor-setup

Conversation

@AKogut

@AKogut AKogut commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Part of #78, whose acceptance criterion is "a first-time contributor can pick a task and open a PR without asking how to set up". I tested that the only way it can be tested: cloned the repository fresh and did exactly what the guide says.

It reports success while skipping half the suite

Tasks: 28 successful          573 passed, 608 skipped

Every test touching Postgres is guarded by describe.skipIf(!hasDb). With no DATABASE_URL, more than half the suite quietly does not run — scoring, tenant isolation, erasure, the queue. A contributor could change any of it, watch every task go green, and have exercised none of what they changed.

For a project whose entire subject is checks that look green without proving anything, that is a poor first experience to hand someone.

With the database the guide already tells them to start, plus REQUIRE_DB=1 so an unreachable database fails loudly instead of skipping:

Tasks: 28 successful          895 passed, 0 skipped

REQUIRE_DB=1 earned its place during this: I ran it against a stopped Postgres by accident and got a loud P1001 instead of a green run. That is the whole point of it, and it was documented nowhere.

The changeset list was wrong in both directions

It named ai — private, never published — and omitted vitest-reporter and jest-reporter, which do. Someone following it would either write a changeset nobody needs or miss one that gates a release.

A test now checks the list against the workspace. It first flagged db, which the section names as an example of something needing no changeset — the check was reading the surrounding prose rather than the list, so it now reads only the list. Proved by removing vitest-reporter and watching it fail.

Also documented

pnpm exec turbo run test --force, which runs packages concurrently and uncached — the check that caught the Prisma upgrade writing to the wrong schema, where serial cached runs were perfectly green. And that format:check is the step most often forgotten.

62/62 turbo tasks.

Cloned the repository fresh and did exactly what the guide says. It reports
success:

  Tasks: 28 successful      573 passed, 608 skipped

Every test touching Postgres is guarded by skipIf(!hasDb), so with no
DATABASE_URL more than half the suite quietly does not run — scoring, tenant
isolation, erasure, the queue. A contributor could change any of it, see every
task green, and have exercised none of what they changed. For a project whose
whole subject is checks that look green without proving anything, that is the
wrong first experience to hand someone.

The guide now gives the command that reaches the database compose already
started, with REQUIRE_DB=1 so an unreachable database fails loudly rather than
skipping. With it: 895 passed, 0 skipped.

It also documents `turbo run test --force`, which runs packages concurrently
and uncached — how the Prisma upgrade was caught writing to the wrong schema —
and says format:check is the step most often forgotten.

The changeset list was wrong in both directions: it named `ai`, which is
private, and omitted the Vitest and Jest reporters, which publish. Someone
following it would either write a changeset nobody needs or miss one that gates
a release. A test now checks the list against the workspace.

That test first flagged `db`, which the section names as an example of
something needing no changeset — the check was reading the prose rather than
the list, so it now reads only the list.
@AKogut
AKogut merged commit 4544d9e into main Aug 18, 2026
5 checks passed
@AKogut
AKogut deleted the docs/contributor-setup branch August 18, 2026 13:00
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