ci: v0.13.0 — e2e via shared docker network (flight-ci-e2e) instead of endpoint-derived URL

This commit is contained in:
2026-09-19 07:53:22 +00:00
parent 47381f2011
commit 5ee0d89826
3 changed files with 51 additions and 47 deletions
+15 -6
View File
@@ -1,19 +1,28 @@
# Isolated e2e stack for CI (.gitea/workflows/ci.yml) — runs inside the job's dind daemon,
# never on the production host. Mirrors docker-compose.yml minus Traefik: no external
# dev_net, no traefik labels; the app is served directly on port 3000 of the dind container.
# Isolated e2e stack for CI (.gitea/workflows/ci.yml) — runs on the runner's shared dind
# daemon under project name flight-ci (distinct from production). Joins the external
# network flight-ci-e2e that the workflow attaches the job container to; the app is reached
# via service DNS as http://app:3000 (alias declared below) — no host port mapping needed.
# The build context is tarred by the compose client in the job and sent over DOCKER_HOST,
# so nothing here needs to be visible from inside dind; game state lives in a named volume
# (fresh per run, survives `docker compose restart flight` for e2e/state.spec.ts).
# (fresh per run — CI cleanup removes it — survives `docker compose restart flight` for
# e2e/state.spec.ts).
services:
flight:
build: .
image: flight-ops-ci
ports:
- "3000:3000"
environment:
FLIGHT_TEST_HOOKS: "1"
volumes:
- flight-db:/app/db
networks:
flight-ci-e2e:
aliases:
- app
networks:
flight-ci-e2e:
name: flight-ci-e2e
external: true
volumes:
flight-db: