2021-05-01 17:17:32 +00:00
|
|
|
FROM node:14.16.1-buster-slim AS node-image
|
2021-06-19 22:49:25 +00:00
|
|
|
FROM python:3.9.5-slim-buster
|
2020-12-06 20:17:17 +00:00
|
|
|
|
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -y --no-install-recommends \
|
|
|
|
# building packages
|
2021-01-10 13:14:50 +00:00
|
|
|
bzip2 ccache clang-format-6.0 cmake f2c g++ gfortran git make \
|
|
|
|
patch pkg-config swig unzip wget xz-utils \
|
2020-12-06 20:17:17 +00:00
|
|
|
# testing packages: libgconf-2-4 is necessary for running chromium
|
2021-05-01 17:17:32 +00:00
|
|
|
libgconf-2-4 "chromium=90.*" \
|
2021-01-01 15:43:48 +00:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
2018-10-08 19:33:33 +00:00
|
|
|
|
2021-03-17 09:03:42 +00:00
|
|
|
RUN pip3 --no-cache-dir install \
|
|
|
|
black \
|
|
|
|
"cython<3.0" \
|
2021-04-14 18:15:31 +00:00
|
|
|
packaging \
|
2021-03-17 09:03:42 +00:00
|
|
|
flake8 \
|
|
|
|
hypothesis \
|
2021-04-13 21:12:39 +00:00
|
|
|
"mypy==0.812" \
|
2021-03-17 09:03:42 +00:00
|
|
|
pytest \
|
2021-06-19 22:49:25 +00:00
|
|
|
pytest-asyncio \
|
2021-03-17 09:03:42 +00:00
|
|
|
pytest-cov \
|
|
|
|
pytest-httpserver \
|
|
|
|
pytest-instafail \
|
|
|
|
pytest-rerunfailures \
|
|
|
|
pytest-xdist \
|
|
|
|
pyyaml \
|
2021-05-01 17:17:32 +00:00
|
|
|
"selenium==4.0.0.b3" \
|
|
|
|
# Docs requirements
|
|
|
|
sphinx \
|
|
|
|
sphinx_book_theme \
|
|
|
|
myst-parser==0.13.3 \
|
|
|
|
sphinxcontrib-napoleon \
|
|
|
|
packaging \
|
|
|
|
sphinx-js==3.1 \
|
|
|
|
autodocsumm \
|
|
|
|
docutils==0.16 \
|
|
|
|
sphinx-argparse-cli~=1.6.0 \
|
|
|
|
sphinx-version-warning~=1.1.2 \
|
|
|
|
sphinx-issues
|
2018-10-08 19:33:33 +00:00
|
|
|
|
2020-12-06 20:17:17 +00:00
|
|
|
# Get firefox 70.0.1 and geckodriver
|
2021-04-19 07:06:22 +00:00
|
|
|
RUN wget -qO- https://ftp.mozilla.org/pub/firefox/releases/87.0/linux-x86_64/en-US/firefox-87.0.tar.bz2 | tar jx \
|
2020-12-06 20:17:17 +00:00
|
|
|
&& ln -s $PWD/firefox/firefox /usr/local/bin/firefox \
|
2021-04-19 07:06:22 +00:00
|
|
|
&& wget -qO- https://github.com/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-linux64.tar.gz | tar zxC /usr/local/bin/
|
2018-10-08 19:33:33 +00:00
|
|
|
|
|
|
|
# Get recent version of chromedriver
|
2021-05-01 17:17:32 +00:00
|
|
|
RUN wget --quiet https://chromedriver.storage.googleapis.com/90.0.4430.24/chromedriver_linux64.zip \
|
2020-12-06 20:17:17 +00:00
|
|
|
&& unzip chromedriver_linux64.zip \
|
|
|
|
&& mv $PWD/chromedriver /usr/local/bin \
|
|
|
|
&& rm -f chromedriver_linux64.zip
|
2018-10-15 12:05:58 +00:00
|
|
|
|
2021-05-01 17:17:32 +00:00
|
|
|
COPY --from=node-image /usr/local/bin/node /usr/local/bin/
|
|
|
|
COPY --from=node-image /usr/local/lib/node_modules /usr/local/lib/node_modules
|
|
|
|
RUN ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
|
|
|
|
&& ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
|
|
|
|
|
|
|
|
RUN npm install -g \
|
|
|
|
jsdoc \
|
|
|
|
uglify-js \
|
|
|
|
prettier \
|
|
|
|
rollup \
|
|
|
|
rollup-plugin-terser
|
|
|
|
|
2018-10-15 12:05:58 +00:00
|
|
|
CMD ["/bin/sh"]
|
2018-10-08 19:33:33 +00:00
|
|
|
WORKDIR /src
|