coreboot-kgpe-d16/util/docker/doc.coreboot.org/Dockerfile
Nicholas Chin 2fe63a1ad6 util/docker: Update Dockerfiles for building the documentation
The doc.coreboot.org container is several years out of date, using the
three year old Alpine 3.8 as the base image along with Sphinx related
pip packages which are even older. Accordingly, update the documentation
related pip packages in the coreboot-jenkins-node container as well.

- Update doc.coreboot.org to Alpine 3.18.3
- Update documentation related pip packages on coreboot-jenkins-node
  and doc.coreboot.org to the latest versions on PyPI
- Update Sphinx to 6.2.1 as the latest version of sphinx_rtd_theme does
  not yet support sphinx >= 7

The updates also noticeably improve performance, dropping documentation
build times from ~75 s down to ~42 s on my system from the Alpine+Python
updates alone, and further down to ~35 s with the rest of the updates.

TEST: The documentation builds and renders properly when built using the
updated container.

Change-Id: I38dfd22ee71c3779ab5fd3b3060e4675e9e3fe54
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73159
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2023-08-21 22:39:06 +00:00

29 lines
818 B
Docker

FROM alpine:3.18.3
COPY makeSphinx.sh /makeSphinx.sh
RUN apk add --no-cache python3 py3-pip make bash git openjdk8-jre ttf-dejavu fontconfig \
&& pip3 install --upgrade --no-cache-dir pip \
&& pip3 install --no-cache-dir \
jinja2==3.1.2 \
recommonmark===0.7.1\
sphinx===6.2.1 \
sphinxcontrib-ditaa===1.0.2 \
sphinx_autobuild===2021.3.14 \
sphinx_rtd_theme===1.2.2 \
&& chmod 755 /makeSphinx.sh
ADD https://github.com/stathissideris/ditaa/releases/download/v0.11.0/ditaa-0.11.0-standalone.jar \
/usr/lib/ditaa-0.11.0-standalone.jar
ADD ditaa.sh /usr/bin/ditaa
VOLUME /data-in /data-out
# For Sphinx-autobuild
# Port 8000 - HTTP server
# Port 35729 - websockets connection to allow automatic browser reloads after each build
EXPOSE 8000 35729
ENTRYPOINT ["/bin/bash", "/makeSphinx.sh"]
CMD []