ci: fix e2e hostname collision and docker-deploy admin seed
CI / Architecture Guardrails (push) Has started running
CI / Typecheck (push) Has started running
CI / Lint (push) Has started running
CI / Assistant Split Regression (push) Has started running
CI / Unit Tests (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled

E2E: rename service hosts postgres/redis to e2epg/e2eredis — the
gitea_gitea network has multiple containers answering to 'postgres'
(Gitea core + concurrent job services), causing split-brain where
prisma db push and db:seed connected to different databases and
audit_logs ended up missing.

docker-compose.ci.yml: stop attaching postgres/redis to gitea_gitea
for the docker-deploy-test job — only the app needs cross-network
reachability; the compose services talk to each other on the
internal default network.

Docker Deploy: setup-admin.mjs imports @prisma/client and
@node-rs/argon2 which only live in packages/db/node_modules. Node
resolves bare specifiers from the script's directory (/app/scripts),
not cwd, so pnpm --filter wrappers did not help. Set NODE_PATH to
packages/db/node_modules as a fallback resolution root.
This commit is contained in:
2026-04-13 00:04:32 +02:00
parent f856dd26b3
commit b164c4ca70
11 changed files with 37 additions and 28 deletions
+8 -12
View File
@@ -13,18 +13,14 @@
services:
app:
volumes: !reset []
# Attach to the gitea_gitea network too so the act_runner job container
# (which lives on gitea_gitea) can reach the compose services by name.
# Otherwise "localhost:3100" from inside the job container resolves to
# the job container itself, not the compose-network app.
networks:
- default
- gitea_gitea
postgres:
networks:
- default
- gitea_gitea
redis:
# Attach only the app to gitea_gitea so the act_runner job container
# (which lives on gitea_gitea) can reach the compose app by service name.
# Do NOT attach postgres/redis here — doing so causes hostname collisions
# with other containers already on gitea_gitea (Gitea core + concurrent
# job service containers all answer to "postgres"), producing split-brain
# where different clients hit different DBs. The app talks to postgres/
# redis by service name on the internal compose network, which works
# regardless of gitea_gitea.
networks:
- default
- gitea_gitea