| ARG VERSION=3 |
| FROM python:$VERSION |
| |
| # Install pip and poetry |
| RUN python -m pip install --upgrade pip && python -m pip install poetry |
| |
| # Setup as minimal a stub project as possible, simply to allow caching base dependencies |
| # between builds. |
| # |
| # If error is encountered in these steps, can safely be removed locally. |
| RUN mkdir -p /isort/isort |
| RUN mkdir -p /isort/tests |
| RUN touch /isort/isort/__init__.py |
| RUN touch /isort/tests/__init__.py |
| RUN touch /isort/README.md |
| WORKDIR /isort |
| COPY pyproject.toml poetry.lock /isort/ |
| RUN poetry install |
| |
| # Install latest code for actual project |
| RUN rm -rf /isort |
| COPY . /isort |
| RUN poetry install |
| |
| # Run full test suite |
| CMD /isort/scripts/test.sh |