coreboot-kgpe-d16/util/docker/doc.coreboot.org
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
..
Dockerfile util/docker: Update Dockerfiles for building the documentation 2023-08-21 22:39:06 +00:00
README.md
ditaa.sh util/docker: Update Dockerfiles for building the documentation 2023-08-21 22:39:06 +00:00
makeSphinx.sh

README.md

doc.coreboot.org

Docker container for generating and developing documentation for doc.coreboot.org

NOTE: All paths are from the base of the coreboot git repo.

Build

  docker build --force-rm -t "doc.coreboot.org" "$PWD/util/docker/doc.coreboot.org/"

Generating production HTML

# To ensure the output directory is given the correct permissions, make sure to
# created it before running docker the first time.
mkdir -p "$PWD/Documentation/_build/"

docker run -it --rm \
           --user "$(id -u):$(id -g)" \
           -v "$PWD/:/data-in/:ro" \
           -v "$PWD/Documentation/_build/:/data-out/" \
           doc.coreboot.org

live reloaded with web server

On the host machine, open a browser to the address http://0.0.0.0:8000

docker run -it --rm \
           --net=host -v "$PWD/:/data-in/:ro" \
           doc.coreboot.org livehtml