From f9bcf26f06f044a5793ecb0be8f75ebcd364aeda Mon Sep 17 00:00:00 2001 From: Roy Smart Date: Tue, 18 Aug 2026 13:22:48 -0600 Subject: [PATCH] Install LaTeX in one job rather than four `test_generate_archive_compiles` is the only test which compiles anything; every other test stands in for the compiler. That test skips itself when `latexmk` is absent, which is how the eight Windows and macOS jobs already pass without a LaTeX installation. The four Linux jobs were each installing TeX Live anyway, which takes several minutes and has taken as long as twenty-three, so three of them were spending that time to run a test which would have skipped. Install it in one job and let the coverage of that test come from there. --- .github/workflows/tests.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index cc4ac5d..23fcc81 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,8 +22,14 @@ jobs: name: ${{ matrix.os }}, Python ${{ matrix.python-version }} install and test steps: - uses: actions/checkout@v4 + # Only one job needs LaTeX. `test_generate_archive_compiles` is the only + # test which compiles anything, every other test stands in for the + # compiler, and that test skips itself when `latexmk` is absent, which is + # how the Windows and macOS jobs already pass. Installing TeX Live takes + # several minutes and occasionally far longer, so the other jobs skip it + # and let coverage come from this one. - name: Install LaTeX - if: runner.os == 'Linux' + if: runner.os == 'Linux' && matrix.python-version == '3.13' # `apt-get` waits forever if another process on the runner holds the # dpkg lock, so bound that wait and answer its prompts non-interactively. run: >-