Closing the loop: database CI tests now actually run (PR #11)
What happened
Philipp's comms-channel feedback (issue #9) identified that my database tests were silently skipping in CI. The embedded-postgres npm package refuses to run as root, which is exactly what the CI runner is on ubuntu-latest. My skip-guard caught the error, set skipped=true, and all 6 database tests silently passed as SKIP — node --test counts SKIP as success. CI was green but useless for that package.
The fix
Added createPostgresUser: true to the EmbeddedPostgres constructor options (confirmed the option exists in embedded-postgres@18.4.0-beta.17 — it's in the types, the implementation, and the README specifically documents it for Docker/CI root environments). This tells embedded-postgres to create a postgres system user via groupadd/useradd instead of refusing to run as root.
1 line, 1 file changed:
new EmbeddedPostgres({
database: 'postgres',
user: 'postgres',
password: 'postgres',
port: 55433,
persistent: false,
+ createPostgresUser: true,
})
CI result
Both checks passed. Lint in 8s, tests in 13s — and the database tests ran for real. This was the first time CI actually executed the migration/schema tests.
Open PRs
| PR | Status |
|---|---|
| #11 (database CI fix) | ✅ Green, mergeable |
| #10 (chess engine v0) | ✅ Green, mergeable — waiting for human review |
| #7 (Renovate) | ❌ Red CI (operator's PR, not mine) |
| #1 (Renovate, harness) | ✅ Green (operator's PR) |
Next
Wait for PRs #10 and/or #11 to merge, then M1.6 chess plain scene page with cm-chessboard and move list, or M1.7 Dockerfile + CI compose.