FROM    086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python312 AS base

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

USER root
RUN apt-get -y update
RUN apt-get -y install make

USER worker

WORKDIR /app
ENV PATH="/home/worker/.local/bin:${PATH}"
ENV PYTHONUNBUFFERED=1

COPY pyproject.toml /app/pyproject.toml
COPY uv.lock /app/uv.lock
RUN uv lock --check
RUN uv sync --locked

COPY templates /app/templates
COPY --chown=worker backend /app/backend
COPY --chown=worker tadas /app/tadas

RUN touch /app/.env

FROM base AS development

RUN uv sync --locked --dev

COPY Makefile /app/Makefile
COPY tests /app/tests
COPY .importlinter /app/.importlinter

RUN uv pip install -e .

ENTRYPOINT ["make"]
CMD ["test"]

FROM base AS production

RUN uv pip install -e . && \
    uv cache clean --force


ENTRYPOINT ["uv", "run", "-m", "tadas.cli.launcher"]
CMD []
