Files
gps-denied-onboard/docker-compose.test.yml
T
Oleksandr Bezdieniezhnykh cab7b5d020 [AZ-233] Update Docker Compose and enhance test documentation
- Modified the Docker Compose configuration to include an input root for replay tests and added an environment variable for enabling SITL.
- Enhanced documentation for various testing processes, including the addition of a Runtime Completeness Decomposition Gate and clarifications on internal module testing requirements.
- Updated the implementation completeness report to reflect the current state and added new test cases for performance and resilience scenarios.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-06 05:03:48 +03:00

99 lines
2.5 KiB
YAML

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: