# Dockerfile

ARG         AWS_ACCOUNT=086679231553

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

WORKDIR     /var/app

USER        root

RUN         apt update \
            && apt install -y \
                git \
                hub \
            && apt clean \
            && rm -rf /var/lib/apt/lists/* \
            && hub version \
            && git --version \
            && groupadd -g 1103 jenkins \
            && useradd -u 1103 -g jenkins -m -d /var/lib/jenkins -s /bin/bash jenkins \
            && mkdir -p /var/lib/jenkins \
            && chown -R jenkins:jenkins /var/lib/jenkins

ENV         VIRTUAL_ENV /var/venv
RUN         python3.13 -m venv ${VIRTUAL_ENV}
ENV         PATH "$VIRTUAL_ENV/bin:$PATH"

RUN         pip install --upgrade pip

COPY        requirements.txt ./
RUN         pip install -I -r requirements.txt
ADD         . /var/app

FROM        base as deploy

USER        root

RUN         pip install --editable .

USER        worker

COPY        requirements.txt .

RUN         git config --global user.email "it@theorchard.com" \
            && git config --global  user.name "DependaBro"

ENTRYPOINT  ["dependabro"]

CMD ["--help"]

FROM        base AS lint-and-test

RUN         pip install -I -r requirements-dev.txt \
            && pip freeze

USER        worker

ENTRYPOINT  ["scripts/unit-lint.sh"]
