# syntax=docker/dockerfile:1

FROM 086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python311 as build-deps

USER root
ENV VENV_DIR /var/venv
ENV APP_DIR /var/app

RUN apt update \
    && apt install -y jq make \
    && apt -y clean \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir ${VENV_DIR} \
    && chown -R worker:worker ${VENV_DIR}

USER worker


FROM build-deps as build-base

WORKDIR ${APP_DIR}

RUN python -m venv ${VENV_DIR} \
    && ${VENV_DIR}/bin/pip --no-cache-dir install --upgrade pip setuptools wheel

COPY requirements.txt ${APP_DIR}
RUN ${VENV_DIR}/bin/pip --no-cache-dir install -r requirements.txt


FROM build-base as main

COPY . ${APP_DIR}

# Run i18n process
ARG POEDITOR_PROJECT_ID
ENV POEDITOR_PROJECT_ID=$POEDITOR_PROJECT_ID
RUN --mount=type=secret,id=poeditor_api_token,env=POEDITOR_API_TOKEN make VENV=${VENV_DIR} i18n

CMD ${VENV_DIR}/bin/ddtrace-run ${VENV_DIR}/bin/python main.py


FROM build-base as tests

COPY requirements-dev.txt ${APP_DIR}

RUN ${VENV_DIR}/bin/pip --no-cache-dir install -r requirements-dev.txt
