ci: fix E2E db target guard and strip bind mounts in docker deploy test
CI / Architecture Guardrails (push) Successful in 2m47s
CI / Typecheck (push) Successful in 3m11s
CI / Lint (push) Successful in 3m26s
CI / Unit Tests (push) Failing after 56s
CI / Assistant Split Regression (push) Successful in 4m57s
CI / Build (push) Successful in 4m37s
CI / Fresh-Linux Docker Deploy (push) Failing after 30s
CI / E2E Tests (push) Failing after 3m43s
CI / Release Images (push) Has been skipped

E2E was failing at `pnpm db:push` because scripts/prisma-with-env.mjs
refuses to run when DATABASE_URL's database name doesn't match the
expected target ("capakraken"). CI uses capakraken_test. Set
CAPAKRAKEN_EXPECTED_DB_NAME=capakraken_test on the e2e job.

Fresh-Linux Docker Deploy was failing because docker-compose.yml's dev
bind mount `.:/app` doesn't work under docker-outside-of-docker on the
Gitea act_runner — the host daemon can't see the job container's
/workspace/... path, so the mount masks the image's baked-in files and
the CMD fails with `cannot open ./tooling/docker/app-dev-start.sh`.
Added docker-compose.ci.yml that resets `app.volumes` and layered it
onto every `docker compose` invocation in the deploy job.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-12 21:41:46 +02:00
parent 9a3e19ddce
commit ec557a0b4b
2 changed files with 24 additions and 6 deletions
+15
View File
@@ -0,0 +1,15 @@
# CI override for docker-deploy-test.
#
# The dev compose bind-mounts `.:/app` so edits are live during `pnpm dev`.
# Under act_runner (docker-outside-of-docker on Gitea), the host docker
# daemon cannot see the job container's /workspace/... path, so the bind
# mount resolves to an empty directory inside the app container and masks
# everything the Dockerfile copied in — including tooling/docker/app-dev-start.sh.
#
# Result: `sh: cannot open ./tooling/docker/app-dev-start.sh: No such file`.
#
# This override strips all bind mounts from the `app` service so the image
# runs against its baked-in copy of the repo.
services:
app:
volumes: !reset []