Keep the dev bind mounts out of CI, where they land nowhere
Docs / docs (push) Successful in 21s
Playwright Tests / test-playwright (1, 2) (push) Failing after 2m4s
Playwright Tests / test-playwright (2, 2) (push) Failing after 1m36s
pre-commit / pre-commit (push) Successful in 3m0s
Test Backend / test-backend (push) Successful in 2m6s
Compose Smoke Test / test-compose (push) Successful in 30s
Playwright Tests / merge-reports (push) Failing after 1m2s

compose.dev.yml mounts the source over the image's own copy so `--reload`
means something in a detached local stack, and mounts the Playwright report
out to the host. Under act_runner the daemon is a sibling of the job rather
than its host: it resolves those paths against its own filesystem, finds
nothing, and mounts empty directories. So the backend reported "Path does not
exist fluksio/main.py" for a file the image plainly ships, and every shard
uploaded nothing — "No files were found with the provided path:
frontend/blob-report".

compose.ci.yml now puts backend's volumes back to what compose.yml declares
and drops Playwright's entirely; the shard copies its report out of the
container before the teardown instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-24 21:42:04 +02:00
co-authored by Claude Opus 5
parent bf6cad45ad
commit c33fa404a4
2 changed files with 27 additions and 1 deletions
+15
View File
@@ -32,6 +32,15 @@ services:
backend:
container_name: !reset null
ports: !reset []
# compose.dev.yml mounts the source over the image's own copy, so `--reload`
# means something in a detached local stack. Here the daemon is a sibling of
# the job rather than its host: it resolves that path against its own
# filesystem, finds nothing, and mounts an empty directory over the package.
# That is how the container came to report "Path does not exist
# fluksio/main.py" for a file the image plainly ships. Back to what
# compose.yml declares — CI wants the built image anyway.
volumes: !override
- app-flow-data:/data
frontend:
container_name: !reset null
@@ -49,6 +58,12 @@ services:
playwright:
ports: !reset []
# Same reason as backend above. These two exist so a local run leaves its
# report on the host; under a sibling daemon they are empty directories the
# report is written into and never seen again, which is what "No files were
# found with the provided path: frontend/blob-report" was. The job copies
# the report out of the container instead.
volumes: !reset []
# frontend/playwright.config.ts defaults baseURL to http://app.localhost,
# which is right for a local run against the integrated stack but resolves
# to 127.0.0.1 in here. In CI the nginx `frontend` service serves the SPA.