Docker build and integration tests fails on main at the Run isolated Compose test stack step. Both image builds succeed; only the Compose run fails.
Not a regression from #52. The job last passed at 8c4ca5e (2026-08-24) and was skipped on every run afterwards, because it declares needs: [lint, test, lockfiles] and Lockfile reproducibility was red. #52 fixed the upstream jobs, so this lane executed again for the first time in about a week and surfaced the existing breakage.
The only change to its inputs since the last green run is #42, which rewrote backend/requirements.lock. Dockerfile.test, docker-compose.test.yml and backend/pytest.ini are untouched since then.
Already ruled out
- Full suite under the container's exact env (
DATABASE_URL -> postgres-test, REDIS_URL, AI_PROVIDER=rule-based, empty Stripe/OpenAI keys): 352 passed, including the 2 integration-marked tests.
pip install --dry-run -r backend/requirements.lock in a clean venv: resolves cleanly.
tsc --noEmit clean; vitest run --coverage 48 passed, 95.7% statements.
- Re-ran on a fresh commit — fails identically, so not flaky.
The container command is:
cd backend && pytest && cd ../frontend && npm run typecheck && npm test -- --coverage
Note this runs pytest with no marker filter, so it includes the integration tests, and it runs the frontend suite inside the same container.
Next step: someone with Docker access should run
docker compose -f docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from test-runner
and read the test-runner output. I could not: Docker is unavailable in my sandbox and the Actions log endpoint returns EOF from there, so the specific failing assertion is still unknown.
Docker build and integration testsfails onmainat the Run isolated Compose test stack step. Both image builds succeed; only the Compose run fails.Not a regression from #52. The job last passed at
8c4ca5e(2026-08-24) and was skipped on every run afterwards, because it declaresneeds: [lint, test, lockfiles]andLockfile reproducibilitywas red. #52 fixed the upstream jobs, so this lane executed again for the first time in about a week and surfaced the existing breakage.The only change to its inputs since the last green run is #42, which rewrote
backend/requirements.lock.Dockerfile.test,docker-compose.test.ymlandbackend/pytest.iniare untouched since then.Already ruled out
DATABASE_URL->postgres-test,REDIS_URL,AI_PROVIDER=rule-based, empty Stripe/OpenAI keys): 352 passed, including the 2integration-marked tests.pip install --dry-run -r backend/requirements.lockin a clean venv: resolves cleanly.tsc --noEmitclean;vitest run --coverage48 passed, 95.7% statements.The container command is:
Note this runs
pytestwith no marker filter, so it includes the integration tests, and it runs the frontend suite inside the same container.Next step: someone with Docker access should run
and read the
test-runneroutput. I could not: Docker is unavailable in my sandbox and the Actions log endpoint returnsEOFfrom there, so the specific failing assertion is still unknown.