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

WORKDIR /app
ENV PYTHONUNBUFFERED=1

FROM base AS dev

COPY requirements.txt requirements-test.txt ./
RUN pip install --upgrade pip setuptools && \
    pip install -r requirements.txt -r requirements-test.txt

COPY src ./src
COPY tests ./tests
COPY app.py pyproject.toml docker-compose.yaml ./

FROM dev AS lint-and-test

COPY scripts/lint-and-test.sh ./scripts/
CMD ["scripts/lint-and-test.sh"]

FROM dev AS format

COPY scripts/format.sh ./scripts/
CMD ["scripts/format.sh"]

FROM base AS app

COPY requirements.txt ./
RUN pip install --upgrade pip setuptools && \
    pip install -r requirements.txt

COPY app.py ./
COPY src ./src

ENTRYPOINT ["python", "app.py"]
