FROM python:3.13-slim-bookworm AS base

WORKDIR /var/app

# Install uv
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv

RUN apt-get update && apt-get install -y build-essential && rm -rf /var/lib/apt/lists/*

COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --group dev --no-install-project --no-install-package uwsgi && uv cache clean

ENV PATH="/var/app/.venv/bin:$PATH"

COPY lint-and-test.sh ./
RUN chmod +x lint-and-test.sh
COPY docker-compose.yaml dev.py application.py ./
COPY reporting/ ./reporting
COPY tests/ ./tests

ENTRYPOINT ["bash", "./lint-and-test.sh"]
