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

WORKDIR /var/venv
RUN python3 -m venv /var/venv
WORKDIR /var/app
COPY --chown=worker:worker reqs.pip setup.py ./
COPY --chown=worker:worker conf ./conf
COPY --chown=worker:worker feed_sender ./feed_sender
RUN chmod +x /var/app/feed_sender/flows/proper_changed_releases/exec.sh
RUN chmod +x /var/app/feed_sender/flows/proper_new_releases_tracks/exec.sh
RUN /var/venv/bin/python -m pip install --upgrade pip setuptools wheel
RUN /var/venv/bin/python -m pip install -r reqs.pip --no-cache-dir
RUN /var/venv/bin/python -m pip install .

FROM base AS proper-changed-releases-exec
ENTRYPOINT ["/bin/bash", "/var/app/feed_sender/flows/proper_changed_releases/exec.sh"]

FROM base AS proper-new-releases-exec
ENTRYPOINT ["/bin/bash", "/var/app/feed_sender/flows/proper_new_releases_tracks/exec.sh"]

FROM base AS deploy
RUN /var/venv/bin/python -m pip install supervisor
RUN mkdir /tmp/feed_workspace \
    && chmod 755 /tmp/feed_workspace
RUN chmod +x conf/healthcheck.sh
EXPOSE 9001
USER root
ENTRYPOINT ["/var/venv/bin/supervisord", "-c", "conf/supervisor.conf"]

FROM base AS lint-and-test
COPY --chown=worker:worker .flake8 lint-and-test.sh reqs-test.pip ./
COPY --chown=worker:worker tests ./tests
RUN /var/venv/bin/python -m pip install -r reqs.pip -r reqs-test.pip --no-cache-dir
ENTRYPOINT [ "./lint-and-test.sh" ]
