summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/docs/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/tests/docs/Dockerfile25
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/web-platform/tests/docs/Dockerfile b/testing/web-platform/tests/docs/Dockerfile
new file mode 100644
index 0000000000..bf5b7088a5
--- /dev/null
+++ b/testing/web-platform/tests/docs/Dockerfile
@@ -0,0 +1,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