ARG AWS_ACCOUNT=086679231553
FROM ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python314 AS base

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    POETRY_HOME="/opt/poetry" \
    PYSETUP_PATH="/opt/pysetup" \
    POETRY_VIRTUALENVS_IN_PROJECT=1 \
    POETRY_VIRTUALENVS_CREATE=1 \
    VIRTUAL_ENV="/opt/pysetup/.venv"
ENV PATH="$POETRY_HOME/bin:$VIRTUAL_ENV/bin:$PATH"

WORKDIR $PYSETUP_PATH

RUN python -m venv $VIRTUAL_ENV && \
    $VIRTUAL_ENV/bin/pip install --no-cache-dir --upgrade pip setuptools && \
    $VIRTUAL_ENV/bin/pip install --no-cache-dir poetry==2.4.1

WORKDIR /tests

##############################
### Integration tests      ###
##############################
FROM base AS integration-tests

COPY pyproject.toml poetry.lock ./
RUN poetry install --no-root --no-cache

COPY . .

CMD ["python", "-m", "pytest", "--ddtrace", "-v", "-p", "no:cacheprovider"]

######################
### Lint           ###
######################
FROM base AS lint

COPY pyproject.toml poetry.lock ./
RUN poetry install --no-root --no-cache --extras dev

COPY . .

ENTRYPOINT ["scripts/lint.sh"]
