Skip to content

v1.6.0 - #35

Merged
Paebbels merged 6 commits into
mainfrom
dev
Sep 17, 2026
Merged

Paebbels merged 6 commits into
mainfrom
dev

Conversation

@pytooling-claude

Copy link
Copy Markdown

Changes

  • The images are built on Debian 13 Trixie (Upgrade the base image to Debian 13 Trixie #32), from python:3.14-slim-trixie. The TeX side is unchanged - the MiKTeX apt distribution is trixie at 26.5-trixie1, the same MiKTeX version that bookworm carried - while the surrounding userland is Trixie's, which in the Sphinx image means nodejs 20 instead of 18. Pipeline.yml sets base_image_os_version="13" and base_image_os_codename="Trixie", and everything else derives from those two variables.
  • A failed document compilation prints MiKTeX's own logs (Print MiKTeX's own logs when a document fails #33). A lualatex abort writes no document.log and names /latex/.miktex/texmfs/data/miktex/log/lualatex.log instead; the container used to be removed with it, so every occurrence read as an unexplained instability. The Document and Sphinx check jobs now group the user and admin logs into the job output on failure.
  • Ten packages that the images were auto-installing are now installed at build time (List the packages the images were auto-installing #34).
    • Common.list: ctablestack, hypcap, lualatex-math, luatexbase, stringenc.
    • Sphinx.list: ellipse, fontawesome7, idxlayout, pict2e, ragged2e.

Bug Fixes

  • lualatex-math is present, so unicode-math works under lualatex (List the packages the images were auto-installing #34). unicode-math-luatex.sty requires it and it was missing since unicode-math arrived in v1.5.0:

    ! LaTeX Error: File `lualatex-math.sty' not found.
    /usr/local/share/miktex-texmf/tex/latex/unicode-math/unicode-math-luatex.sty:56:
      ==> Fatal error occurred, no output PDF file produced!
    

    It went unnoticed because the images enable [MPM]AutoInstall=1: the package was fetched from whichever mirror answered while the document compiled, so the same commit built or failed depending on the network.

  • Dockerfile reads its MIKTEX_SRC_REPO argument (Upgrade the base image to Debian 13 Trixie #32). The apt sources line hardcoded bookworm while the argument was declared twice, passed on every build, and ignored - so the MiKTeX distribution could not follow the base image. The next base upgrade is a one-variable change.

  • The Specific job's outputs no longer carry literal quotes (Print MiKTeX's own logs when a document fails #33). Its tee "${GITHUB_OUTPUT}" <<EOF block wrote specific_image="<ns>/<name>:<tag>", and a heredoc does not strip quotes, so the quotes were part of the value and rendered in step names. It worked only because every use was interpolated into a shell command.

Documentation

  • README.md names Debian 13.x Trixie as the base.

Known Issues

  • Four packages sit in a local installation tree without any document loading them - atbegshi, atveryend, lua-uni-algos and unicode-data. They look like dependency pull-ins of listed packages and were deliberately not added.
  • The trixie distribution of the MiKTeX repository holds only 26.2 and 26.5, against eleven versions for bookworm, so pinning an older MiKTeX is not possible on Trixie.
  • A build still installs packages from whichever mirror answers. Pinning a mirror would remove the class of failure that lualatex-math belonged to.

Related Issues and Pull-Requests

claude-code and others added 6 commits September 16, 2026 22:51
The MiKTeX apt repository now carries a 'trixie' distribution, at the same
MiKTeX version as 'bookworm' (26.5).

'Dockerfile' hardcoded 'bookworm' in the apt sources line while ignoring its
own 'MIKTEX_SRC_REPO' argument, which the pipeline has always passed. Reading
the argument ties the MiKTeX distribution to 'base_image_os_codename', so the
next upgrade is a single variable again.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
A lualatex abort writes no 'document.log', and names
'/latex/.miktex/texmfs/data/miktex/log/lualatex.log' as the file holding the
reason. The container is removed with it, so the cause was never visible.

Also drops the literal quotes from the 'Specific' job's outputs: a heredoc
writing '$GITHUB_OUTPUT' does not strip them, so the quotes were part of the
value and showed up in step names.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
A Sphinx document loads ten packages that neither list names. The images
carry '[MPM]AutoInstall=1', so they were fetched at compile time from
whichever mirror answered - and when one doesn't, the build fails with a
missing file. 'lualatex-math' did exactly that on dev:

  ! LaTeX Error: File `lualatex-math.sty' not found.

All ten were found in the user installation tree of a local MiKTeX, which is
where an auto-install lands, and each one is loaded as a '*.sty' by the
generated document.

Co-Authored-By: Patrick Lehmann <Paebbels@gmail.com>
@pytooling-claude pytooling-claude Bot added CI Pipeline Related to the CI pipeline enhancement New feature or request MiKTeX Relatex to the MiKTeX distribution. MPM Related to the MiKTeX Package Manager. labels Sep 17, 2026
@Paebbels
Paebbels merged commit 2c36ead into main Sep 17, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Pipeline Related to the CI pipeline enhancement New feature or request MiKTeX Relatex to the MiKTeX distribution. MPM Related to the MiKTeX Package Manager.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants