FROM python:3.12-slim AS test

WORKDIR /app
COPY requirements.txt .
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt pytest
COPY virtual_drone ./virtual_drone
COPY monitoring ./monitoring
COPY explorer ./explorer
COPY tests ./tests
RUN pytest tests/ -q

FROM python:3.12-slim

WORKDIR /app
COPY requirements.txt .
RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt
COPY virtual_drone ./virtual_drone
# Monitoring and explorer ship in the same image so Kubernetes can run
# them without bind mounts (Compose overrides these with live mounts)
COPY monitoring ./monitoring
COPY explorer ./explorer

ENV DATA_DIR=/data
CMD ["python", "-m", "virtual_drone.main"]
