Commit 53bf5ef6 authored by Ryan Jarvis's avatar Ryan Jarvis

Update for Pyenv/Tox workflow

parent a565ce9a
Pipeline #50459030 passed with stage
in 16 minutes and 37 seconds
FROM ubuntu:18.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -y -qq \
# Make sure we don't stall on the tzdata package
ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update -qq && \
apt-get install -qq \
--no-install-recommends \
# build tools
build-essential \
curl \
git \
libbz2-dev \
libffi-dev \
libncurses5-dev \
libncursesw5-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
llvm \
make \
tk-dev \
wget \
xz-utils \
zlib1g-dev \
# dependencies
javascript-common \
libjs-jquery-isonscreen \
libjs-jquery-metadata \
libjs-jquery-tablesorter \
libjs-jquery-throttle-debounce \
python \
python-coverage \
python-lxml \
python-numpy \
python-pip \
python-setuptools \
python-wheel \
python3 \
python3-coverage \
python3-lxml \
......@@ -16,4 +45,27 @@ RUN apt-get update -yqq && apt-get install -y -qq \
python3-setuptools \
# documentation
python3-sphinx \
&& rm -rf /var/lib/apt/lists/*
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Install pyenv for testing extensions
# Inkscape uses the system version of Python (for now) but this makes sure we
# have a working python environment for all supported versions.
ENV PYENV_ROOT="/.pyenv"
ENV PATH="/.pyenv/bin:/.pyenv/shims:$PATH"
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
RUN pyenv update
RUN echo eval "$(pyenv init -)" >> /root/pyenv-init
RUN . /root/pyenv-init
RUN pyenv install 2.7.14
RUN pyenv install 3.5.6
RUN pyenv install 3.6.8
RUN pyenv install 3.7.2
# Remove unnecessary pyenv files to keep dockerfile small
RUN find $PYENV_ROOT/versions -type d '(' -name '__pycache__' -o -name 'test' -o -name 'tests' ')' -prune -exec rm -r {} + && \
find $PYENV_ROOT/versions -type f '(' -name '*.py[co]' -o -name '*.exe' ')' -prune -exec rm {} +
# Tox is used to run python tests and coverage
RUN pip install tox
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment