From bf3cc947b6b236e16349db8c979eb08c9fa0cce0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Nov 2026 10:16:01 +0000 Subject: [PATCH] ci: build the booklet in the embedded-devcontainer-documentation container Run the booklet job in the pinned documentation container image, which already contains Pandoc and the XeLaTeX tool chain, instead of installing them on the runner for every build. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_014WUWh7MxCGbjgikbK3RwEv --- .github/workflows/build-booklet.yml | 16 ++++++---------- README.md | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-booklet.yml b/.github/workflows/build-booklet.yml index 26e8cc5..fedd63c 100644 --- a/.github/workflows/build-booklet.yml +++ b/.github/workflows/build-booklet.yml @@ -30,23 +30,19 @@ concurrency: jobs: build: runs-on: ubuntu-latest + # Pandoc and the XeLaTeX tool chain come with the container image. + container: gabrielfrasantos/embedded-devcontainer-documentation:v7.4.0@sha256:0537b16931e116f98fd62e0bad454af5bcd102ec6501ccdef2b270aa83fd281e steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: fetch-depth: 0 - - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 - with: - python-version: "3.12" - - - name: Install Pandoc and TeX toolchain - run: | - sudo apt-get update - sudo apt-get install -y --no-install-recommends \ - pandoc texlive-xetex texlive-latex-extra texlive-fonts-recommended lmodern librsvg2-bin + # The checkout belongs to the runner user, while the container runs as root. + - name: Mark the workspace as a safe Git directory + run: git config --global --add safe.directory "${GITHUB_WORKSPACE}" - name: Build booklet (PDF + HTML) - run: python scripts/build-booklet.py --format all + run: python3 scripts/build-booklet.py --format all - name: Upload PDF artifact uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 diff --git a/README.md b/README.md index ecd0c70..190fc0a 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ The entire documentation set is also published as a single book — read it onli PDF from the [Releases page](https://github.com/embedded-pro/robotics-toolbox-cpp/releases/latest). Both are generated automatically from `doc/` (cover, Summary/table of contents, one chapter per category, consolidated references, back cover). -Build it locally with [Pandoc](https://pandoc.org) + XeLaTeX installed: +Build it locally with [Pandoc](https://pandoc.org) + XeLaTeX installed, or in the [`embedded-devcontainer-documentation`](https://hub.docker.com/r/gabrielfrasantos/embedded-devcontainer-documentation) container image that CI uses: ```bash python scripts/build-booklet.py --format all # writes build/booklet/{RoboticsToolbox.pdf,index.html}