document parallel test gate

This commit is contained in:
Yisroel Baum 2026-08-15 22:34:46 +03:00
parent ce5fa65f03
commit de192bc59b
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
3 changed files with 14 additions and 3 deletions

View file

@ -131,6 +131,9 @@ intentionally unclaimed; the built-in health endpoint is `/up`.
- Run the focused PHPUnit test while developing.
- Use `just backend-types-check` for Larastan and `just backend-test` for the
full PHPUnit suite during iteration.
- The completion gate runs `backend-test-unit` and `backend-test-feature` as
concurrent processes. This is safe because each process owns its own
in-memory SQLite database.
- Fix failures caused by the change. Report unrelated baseline failures
precisely rather than expanding scope silently.
- The shared `just test-all` command is the required completion gate. Focused

View file

@ -95,6 +95,10 @@ backend and does not proxy the frontend.
- Cypress is configured under `cypress/` and runs through `npm run test:e2e`
or `just frontend-cypress-run`.
- Every Cypress spec must appear in exactly one `frontend_specs_*` group in
the root `justfile`. The completion gate runs those groups concurrently,
and its `cypress-spec-coverage` job rejects ungrouped, duplicate, or missing
specs. Keep `frontend-cypress-run` for whole-suite iteration.
- Prefer the cheapest test seam that proves the behavior. Cypress covers
routing, browser forms, authentication flows, request wiring, and responsive
behavior.

View file

@ -223,12 +223,16 @@ gate passes against that worktree:
3. Run the complete gate from the worktree root:
```sh
direnv exec "$(git rev-parse --show-toplevel)" just test-all
JUST_JOBS=4 direnv exec "$(git rev-parse --show-toplevel)" just test-all
```
4. Do not hand-assemble a substitute from focused commands. `test-all` runs
frontend format and lint checks, frontend type checking, Larastan, the
production build, PHPUnit, and Cypress in fail-fast order.
one pool of 13 jobs: frontend format, lint, type, build, and Cypress
groups; Larastan; the PHPUnit Unit and Feature suites; and the Cypress
spec coverage guard. Jobs report as they finish, failed output is buffered
and printed at the end, and every job runs even after another job fails.
`JUST_JOBS` limits concurrency and defaults to 4. Use 2 when resources are
constrained or 1 for a serial debugging run.
5. Everything must pass before completion. Report exact baseline or
environmental failures rather than hiding them.
6. If the stack was started only for validation, stop it when finished: