JuliaDocs/Documenter.jl

Update "docker image" for LaTeX and add a CI test for it; or stop recommending it

Open

#2888 opened on Feb 16, 2026

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Julia (910 stars) (513 forks)batch import
Format: LaTeXhelp wanted

Description

Today I discovered that the Documenter manual suggests using this Docker image which was last updated seven (!) years ago. Of course the same section still talks about using Travis for CI (and does not give instructions for GH Actions or any other CI provider). So, yeah.

There is also #2073 which suggests migration to GitHub's GCHR.

From that I also learned where the Dockerfile is -- namely in an archived repository 😂 . Turns out the Dockerfile is based on Ubuntu 18.04.

I'd feel better if I at least knew this suggestion actually works, but I have no idea, as we don't seem to test it in CI? Or maybe we do, as there seem to be a couple of places in test/examples/make.jl that try to use Documenter.LaTeXWriter.LaTeX(platform = "docker"). Alas, tests pass on a machine without Docker even installed... Looking at it, it seems to me these tests are not in the default EXAMPLE_BUILDS list. Which can be overridden with the DOCUMENTER_TEST_EXAMPLES env variable -- but we don't seem to do that in CI on GH Actions? We do seem to override it in test/examples/tests_latex.jl which CI runs, but on GH Actions this only enables tectonic tests, I think:

if Sys.iswindows() && get(ENV, "GITHUB_ACTIONS", nothing) == "true"
    ENV["DOCUMENTER_TEST_EXAMPLES"] = "latex_simple_nondocker latex_simple_tectonic"
else
    ENV["DOCUMENTER_TEST_EXAMPLES"] =
        "latex latex_simple latex_cover_page latex_toc_style latex_simple_nondocker latex_simple_tectonic " *
        "latex_showcase"
end

So IMHO we (well, "someone") should either drop this from the manual; or else move the Dockerfile into this repo, update it, and add a CI test to ensure it works.

While at it, one may also wish to investigate some related issues (but that's not a requirement)

  • #979
  • #1791 (basically: make sure JuliaMono is available in the Docker image / tectonic / etc.
  • #1863
  • #2367

Contributor guide