fix(ci): reach PPE controller through service DNS #125
No reviewers
Labels
No labels
severity/s2
severity/s3
severity/s4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/scrum4me-mcp!125
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/idea-169-forgejo-ci-host-mcp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause
Forgejo/act executes each job and its PostgreSQL service as sibling containers. Both the PR-candidate and final-release jobs used 127.0.0.1, so Prisma addressed the job container instead of the healthy
postgresservice.Change
postgres:5432in both controller test URLsVerification
5e661b6postgresservice and bootstrapped Prisma in 2 secondsPost-merge CI repair for IDEA-169 / merged PR #124. The PR candidate path never publishes. Merging this PR will re-enable the existing main-only immutable publication job.
Verdict: REQUEST_CHANGES
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
.forgejo/workflows/ci.yml:17— De candidate-job draait direct opruns-on: ubuntu-latesten heeft geencontainer:-configuratie. In deze vorm worden service-containers via de gepubliceerde hostpoort oplocalhostbenaderd; de service-DNS naampostgresis bedoeld voor jobs die zelf in hetzelfde container-netwerk draaien. Deze wijziging maaktnpx prisma db push --url "$PPE_CONTROLLER_TEST_DATABASE_URL"waarschijnlijk onbereikbaar en breekt de PR-gate..forgejo/workflows/ci.yml:131— Hetzelfde probleem zit in de final-release job: ook deze job draait niet als container-job, maar de database-URL wijst naarpostgres:5432. Daardoor kan de release-attestation opmainfalen voordat tests/builds draaien.__tests__/ppe-ci-prerequisites.test.ts:43— De nieuwe guard-test noemt “every container job”, maar de workflow-jobs zijn geen container-jobs en de test valideert dat ook niet. Hij kan dus groen zijn terwijl de runtime-connectiviteit fout is. Voeg ofwel een echtecontainer:-configuratie toe aan beide jobs, of behoudlocalhosten test expliciet het runner-service patroon.Conclusie
Niet goedkeuren zolang de workflow niet consistent is met het gekozen service-connectiviteitspatroon.
De twee ERROR-bevindingen veronderstellen GitHub host-runnersemantiek, maar deze Forgejo/act-runner start ook zonder expliciete
container:-sleutel een jobcontainer naast de servicecontainer. Dat is empirisch bevestigd in run #116:Bootstrap disposable PPE controller schemaviapostgres:5432slaagde in 2 seconden; dezelfde stap faalde in run #114 via127.0.0.1met Prisma P1001. Daarom voeg ik geen overbodige containerconfig toe. In5e661b6is de guard bovendien versterkt met de verwachte test-user en expliciet disposable databasenaam, en de testnaam verwijst nu naar de Forgejo-runner in plaats van een YAMLcontainer:-declaratie.APPROVED
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
Geen blokkerende of niet-blokkerende findings gevonden.
De wijziging past de PPE test-database URL consequent aan in beide Forgejo runner jobs (
candidateenfinal-release) en voegt een gerichte regressietest toe die de hostname tegen de gedeclareerde service valideert. De nieuwe test blijft binnen de bestaande testconventie: tests worden via de test-typecheck gate meegenomen, conform de productdocTypecheck-scope — src én tests, twee configs.