# Use an official Python runtime as a parent image
FROM python:3.8.2-slim

ARG TWINE_USERNAME
ARG TWINE_PASSWORD

ENV TWINE_USERNAME=$TWINE_USERNAME
ENV TWINE_PASSWORD=$TWINE_PASSWORD

# Copy pip configs for private repo
RUN mkdir -p /root/
COPY configs/.pypirc /root/

WORKDIR /usr/src

# Copy requirements
COPY ./requirements ./requirements

# Install any needed packages specified in requirements.txt
RUN apt-get update \
    && apt-get install -yq --no-install-recommends build-essential libffi-dev libssl-dev \
    && pip install --upgrade pip setuptools twine \
    && pip install --trusted-host pypi.python.org -r ./requirements/base.txt \
    && rm -rf /var/lib/apt/lists/*

COPY . /usr/src

RUN python setup.py sdist bdist_wheel

CMD ["twine", "upload", "--repository", "pypi", "dist/*"]
