fix(ci): use Forgejo PostgreSQL service hostname #194

Merged
janpeter merged 2 commits from codex/idea-169-forgejo-ci-host-scrum4me into main 2026-08-23 21:25:07 +02:00
Owner

Root cause

Forgejo/act executes the job container and the PostgreSQL service as sibling containers on one Docker network. The PPE test URL used 127.0.0.1, which points back to the job container instead of the healthy service.

Change

  • address PostgreSQL through the declared postgres service
  • parse the workflow in a regression test and require the database host to match a declared job service

Verification

  • TDD regression: failed against the old loopback URL, then passed
  • npm run verify (299 files; 2,425 tests passed)
  • npx prisma validate
  • npm run docs:check-links (195 files)
  • npm run build

Post-merge CI repair for IDEA-169 / merged PR #193. No deployment.

## Root cause Forgejo/act executes the job container and the PostgreSQL service as sibling containers on one Docker network. The PPE test URL used 127.0.0.1, which points back to the job container instead of the healthy service. ## Change - address PostgreSQL through the declared `postgres` service - parse the workflow in a regression test and require the database host to match a declared job service ## Verification - TDD regression: failed against the old loopback URL, then passed - `npm run verify` (299 files; 2,425 tests passed) - `npx prisma validate` - `npm run docs:check-links` (195 files) - `npm run build` Post-merge CI repair for IDEA-169 / merged PR #193. No deployment.
fix(ci): reach PPE database by service hostname
Some checks failed
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 5m53s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been cancelled
CI / Deploy Preview (PR) (pull_request) Has been cancelled
CI / Deploy Production (main) (pull_request) Has been cancelled
f65fdc0d7f
s4m-codex-reviewer left a comment

Verdict: COMMENT

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

  • Minor — __tests__/github-ci-ppe.test.ts:25: de aangepaste regressietest controleert nu dat de database-hostname overeenkomt met een workflow-service en dat de poort 5432 is, maar valideert niet langer dat PPE_TEST_DATABASE_URL naar de expliciet disposable PPE database scrum4us_ppe_test wijst of de verwachte test-user gebruikt. De workflow zelf staat nu goed, maar de test dekt een toekomstige regressie naar een verkeerde database/user minder sterk dan de vorige exacte assertion.

Samenvatting

De CI-wijziging van 127.0.0.1 naar postgres is consistent met Forgejo Actions service-hostname gedrag: de service-key bepaalt de hostnaam. De bijbehorende test is structureler en controleert de service-koppeling, maar is iets te ruim geworden voor de PPE database-invariant.

# Verdict: COMMENT Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings - Minor — `__tests__/github-ci-ppe.test.ts:25`: de aangepaste regressietest controleert nu dat de database-hostname overeenkomt met een workflow-service en dat de poort `5432` is, maar valideert niet langer dat `PPE_TEST_DATABASE_URL` naar de expliciet disposable PPE database `scrum4us_ppe_test` wijst of de verwachte test-user gebruikt. De workflow zelf staat nu goed, maar de test dekt een toekomstige regressie naar een verkeerde database/user minder sterk dan de vorige exacte assertion. ## Samenvatting De CI-wijziging van `127.0.0.1` naar `postgres` is consistent met Forgejo Actions service-hostname gedrag: de service-key bepaalt de hostnaam. De bijbehorende test is structureler en controleert de service-koppeling, maar is iets te ruim geworden voor de PPE database-invariant.
test(ci): retain disposable PPE database invariants
All checks were successful
CI / Lint, Typecheck, Test & Build (pull_request) Successful in 5m55s
CI / Deploy Manual (workflow_dispatch) (pull_request) Has been skipped
CI / Detect deploy-relevant changes (pull_request) Has been skipped
CI / Deploy Preview (PR) (pull_request) Has been skipped
CI / Deploy Production (main) (pull_request) Has been skipped
491b236c51
Author
Owner

Reviewminor verwerkt in 491b236: de structurele service-DNS-check bewaakt nu ook expliciet user scrum4us_owner en database /scrum4us_ppe_test.

Reviewminor verwerkt in `491b236`: de structurele service-DNS-check bewaakt nu ook expliciet user `scrum4us_owner` en database `/scrum4us_ppe_test`.
s4m-codex-reviewer left a comment

Verdict: APPROVED

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

Geen blokkerende of noemenswaardige findings gevonden.

De wijziging is klein en coherent: de CI-test gebruikt nu de Forgejo/PostgreSQL service-hostname (postgres) in plaats van 127.0.0.1, en de bijbehorende test valideert semantisch dat de hostname uit PPE_TEST_DATABASE_URL overeenkomt met een gedefinieerde workflow-service. Dat is beter bestand tegen toekomstige service-renames dan een harde stringcheck.

# Verdict: APPROVED Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings Geen blokkerende of noemenswaardige findings gevonden. De wijziging is klein en coherent: de CI-test gebruikt nu de Forgejo/PostgreSQL service-hostname (`postgres`) in plaats van `127.0.0.1`, en de bijbehorende test valideert semantisch dat de hostname uit `PPE_TEST_DATABASE_URL` overeenkomt met een gedefinieerde workflow-service. Dat is beter bestand tegen toekomstige service-renames dan een harde stringcheck.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Scrum4Me!194
No description provided.