services: postgis: image: postgis/postgis:16-3.4 environment: POSTGRES_DB: gpsd_test POSTGRES_USER: gpsd POSTGRES_PASSWORD: gpsd volumes: - ./migrations/postgresql:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD-SHELL", "pg_isready -U gpsd -d gpsd_test"] interval: 10s timeout: 5s retries: 5 gps-denied-service: build: context: . dockerfile: deployment/docker/Dockerfile.runtime networks: - replay-net - sitl-net satellite-cache-stub: image: python:3.12-slim-bookworm command: - python - -c - "from pathlib import Path; Path('/cache/satellite/.stub-ready').write_text('ready\\n'); import time; time.sleep(3600)" volumes: - satellite-cache:/cache/satellite networks: - replay-net ardupilot-plane-sitl: image: python:3.12-slim-bookworm command: - python - -c - "from pathlib import Path; Path('/tmp/sitl-blocked.txt').write_text('SITL binary unavailable in local stub\\n'); import time; time.sleep(3600)" networks: - sitl-net qgc-observer: image: python:3.12-slim-bookworm command: - python - -c - "from pathlib import Path; Path('/tmp/qgc-observer-ready.txt').write_text('observer ready\\n'); import time; time.sleep(3600)" networks: - sitl-net replay-consumer: build: context: . dockerfile: deployment/docker/Dockerfile.replay command: [ "python", "-m", "e2e.replay.run_replay", "--output-dir", "/app/data/test-results", "--input-root", "/data/input", ] env_file: - config/ci/runtime.env environment: GPSD_ENABLE_SITL: "1" depends_on: gps-denied-service: condition: service_completed_successfully satellite-cache-stub: condition: service_started ardupilot-plane-sitl: condition: service_started qgc-observer: condition: service_started volumes: - ./_docs/00_problem/input_data:/data/input:ro - ./_docs/00_problem/input_data/expected_results:/data/expected:ro - ./_docs/00_problem/input_data/flight_derkachi:/data/input/flight_derkachi:ro - ./tests/fixtures:/app/tests/fixtures:ro - ./data/test-results:/app/data/test-results - satellite-cache:/cache/satellite - fdr-output:/fdr networks: - replay-net - sitl-net networks: replay-net: sitl-net: volumes: satellite-cache: fdr-output: