services: app: build: . command: uvicorn app.main:app --host 0.0.0.0 --port 8000 environment: - DATA_DIR=/data - JWT_SECRET_KEY=test-secret-for-ci - TESTING=true volumes: - test-data:/data healthcheck: test: ["CMD", "python", "-c", "import httpx; r=httpx.get('http://localhost:8000/api/health'); exit(0 if r.status_code==200 else 1)"] interval: 5s timeout: 3s retries: 10 test-runner: build: . command: python -m pytest tests/test_db.py tests/test_repositories.py tests/test_migration.py tests/test_api.py -v environment: - DATA_DIR=/data - JWT_SECRET_KEY=test-secret-for-ci - API_URL=http://app:8000 volumes: - test-data:/data depends_on: app: condition: service_healthy volumes: test-data: