servo/tests/wpt/web-platform-tests/docs/Dockerfile

25 lines
822 B
Docker

FROM ubuntu:20.04
# No interactive frontend during docker build
ENV DEBIAN_FRONTEND=noninteractive \
DEBCONF_NONINTERACTIVE_SEEN=true
# Documentation is generated using Python 3.9 due to spinx-js not
# supporting 3.10: https://github.com/mozilla/sphinx-js/issues/186
RUN apt-get -qqy update \
&& apt-get -qqy install git npm python3.9 python3.9-venv
WORKDIR /app/
COPY package.json requirements.txt ./
RUN npm install .
ENV PATH=/app/node_modules/.bin:$PATH
# Use venv to create a virtual environment with the docs dependencies installed,
# setting the environment variables needed for this to always be active. The
# `./wpt build-docs` then uses this venv with --skip-venv-setup.
ENV VIRTUAL_ENV=/app/venv
RUN python3.9 -m venv $VIRTUAL_ENV
ENV PATH=$VIRTUAL_ENV/bin:$PATH
RUN pip install -r requirements.txt