summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/docs/Dockerfile
blob: bf5b7088a58b4339980e4c50042501c5e10720a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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