mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 07:02:34 +02:00
util: Add docker to automate creation of documentation
Build with: docker build --force-rm -t "doc.flashrom.org" \ "$PWD/util/docker/flashrom.org/" Generate HTML files: mkdir -p "$PWD/doc/_build/" docker run -it --rm \ --user "$(id -u):$(id -g)" \ -v "$PWD/:/data-in/:ro" \ -v "$PWD/doc/_build/:/data-out/" \ doc.flashrom.org Live web server: docker run -it --rm \ --net=host -v "$PWD/:/data-in/:ro" \ doc.flashrom.org livehtml Change-Id: I889fa5f98e2fd6ef896ba4bb30aa5d985ff82622 Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/75344 Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Tested-by: Anastasia Klimchuk <aklm@chromium.org>
This commit is contained in:
parent
f15e6a105b
commit
5c8469953b
29
util/docker/flashrom.org/Dockerfile
Normal file
29
util/docker/flashrom.org/Dockerfile
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
FROM alpine:3.8
|
||||||
|
|
||||||
|
COPY makeSphinx.sh /makeSphinx.sh
|
||||||
|
|
||||||
|
ADD https://sourceforge.net/projects/ditaa/files/ditaa/0.9/ditaa0_9.zip/download /tmp/ditaa.zip
|
||||||
|
|
||||||
|
RUN apk add --no-cache python3 make bash git openjdk8-jre ttf-dejavu fontconfig \
|
||||||
|
&& pip3 install --upgrade --no-cache-dir pip \
|
||||||
|
&& pip3 install --no-cache-dir \
|
||||||
|
sphinx===1.8.3 \
|
||||||
|
sphinx_rtd_theme===0.4.2 \
|
||||||
|
recommonmark===0.5.0 \
|
||||||
|
sphinx_autobuild===0.7.1 \
|
||||||
|
sphinxcontrib-ditaa===0.6 \
|
||||||
|
&& chmod 755 /makeSphinx.sh
|
||||||
|
RUN cd /tmp \
|
||||||
|
&& unzip ditaa.zip \
|
||||||
|
&& mv ditaa0_9.jar /usr/lib
|
||||||
|
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 []
|
32
util/docker/flashrom.org/README.md
Normal file
32
util/docker/flashrom.org/README.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# 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
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build --force-rm -t "doc.flashrom.org" "$PWD/util/docker/flashrom.org/"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Generating production HTML
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# To ensure the output directory is given the correct permissions, make sure to
|
||||||
|
# created it before running docker the first time.
|
||||||
|
mkdir -p "$PWD/doc/_build/"
|
||||||
|
|
||||||
|
docker run -it --rm \
|
||||||
|
--user "$(id -u):$(id -g)" \
|
||||||
|
-v "$PWD/:/data-in/:ro" \
|
||||||
|
-v "$PWD/doc/_build/:/data-out/" \
|
||||||
|
doc.flashrom.org
|
||||||
|
```
|
||||||
|
|
||||||
|
### live reloaded with web server
|
||||||
|
On the host machine, open a browser to the address http://0.0.0.0:8000
|
||||||
|
```sh
|
||||||
|
docker run -it --rm \
|
||||||
|
--net=host -v "$PWD/:/data-in/:ro" \
|
||||||
|
doc.flashrom.org livehtml
|
||||||
|
```
|
2
util/docker/flashrom.org/ditaa.sh
Executable file
2
util/docker/flashrom.org/ditaa.sh
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
exec java -jar /usr/lib/ditaa0_9.jar $*
|
12
util/docker/flashrom.org/makeSphinx.sh
Executable file
12
util/docker/flashrom.org/makeSphinx.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ "$1" == "livehtml" ]; then
|
||||||
|
echo "Starting live documentation build"
|
||||||
|
cd /data-in/ && sphinx-autobuild -b html doc /tmp/build/html
|
||||||
|
else
|
||||||
|
echo "Starting production documentation build"
|
||||||
|
cd /data-in/ \
|
||||||
|
&& sphinx-build -b html doc /tmp/build/html \
|
||||||
|
&& rm -rf /data-out/* \
|
||||||
|
&& mv /tmp/build/html/* /data-out/
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user