Verify failures
verify: NOT green - integration specs skipped
== integration db: SKIPPED - Docker unavailable, so integration specs will skip
...
verify: NOT green - integration specs skipped
Every other stage can pass and the run still exits 1.
Why: verify could not start its throwaway Postgres, so no spec that
sends real SQL ran. The backend's second test pass shows it as
Test Suites: 20 skipped.
Fix: start Docker and run ./verify.sh again. To use a Postgres you
already have instead, set TEST_DATABASE_URL to a disposable database on
it; the specs delete rows. VERIFY_ALLOW_INTEGRATION_SKIP=1 makes the run
pass without them, and the verdict then says SKIPPED.
verify: NOT green - openapi failed
== openapi: runtime spec matches committed openapi.json
openapi: FAILED
--- ../openapi.json
+++ openapi.runtime.json
- "summary": "Health check",
+ "summary": "Health probe",
Why: a controller or zod schema changed and the committed
openapi.json was not regenerated. Any decorator change counts, down to
an @ApiOperation summary.
Fix: regenerate both generated files, from backend/:
npx ts-node -r tsconfig-paths/register scripts/dump-openapi.ts
cp openapi.runtime.json ../openapi.json
cd ../frontend && npm run generate-types
Commit openapi.json and frontend/types/api.d.ts with the change.
Never edit either by hand.
verify: NOT green - frontend failed after a diff of types/api.d.ts
--- types/api.d.ts.verify
+++ types/api.d.ts
- /** Health check */
+ /** Health probe */
Why: openapi.json changed and frontend/types/api.d.ts was not
regenerated from it.
Fix: npm run generate-types in frontend/. The failed verify run has
already rewritten types/api.d.ts on disk, so git status shows it
modified: commit it.
Code style issues found
[warn] src/common/reading-time.ts
[warn] Code style issues found in the above file. Run Prettier with --write to fix.
Why: format:check is the first step of the backend and frontend
stages, and a file is not formatted the way .prettierrc says.
Fix: npm run format in the half that failed, then run verify again.
knip: Unused files, Unused exports or Unused dependencies
Unused files (1)
src/common/unused-helper.ts
Unused exports (1)
READING_TIME_UNUSED src/common/reading-time.ts:10:14
Unused dependencies (2)
ms package.json:55:6
p-limit package.json:58:6
Why: knip fails on a file nothing imports, an export nothing outside its own file uses, and a dependency nothing imports. An export used inside its own file counts as used.
Fix: delete what is unused: the file, the export keyword, or the
dependency (npm uninstall <name>). If the code is about to be used, wire
it in first and run verify after.
Related
- Troubleshooting - all entries
- Boot refusals and warnings