Skip to content

Install LaTeX in one job rather than four - #15

Merged
roytsmart merged 1 commit into
mainfrom
ci-install-latex-once
Aug 18, 2026
Merged

Install LaTeX in one job rather than four#15
roytsmart merged 1 commit into
mainfrom
ci-install-latex-once

Conversation

@roytsmart

Copy link
Copy Markdown
Contributor

Problem

All four Linux jobs install TeX Live, but only one of them needs it.

test_generate_archive_compiles is the only test which actually compiles a document; every other test monkeypatches the compiler. That test carries a skipif on latexmk being absent, which is precisely why the eight Windows and macOS jobs pass today without any LaTeX installation.

So three of the four Linux jobs spend several minutes installing TeX Live in order to run a test that would have skipped. That install is also the slowest and least predictable step in the workflow: on one recent run of main, the same step on the same commit took 2m22s, 2m48s, 18m09s, and 23m03s across the four jobs.

Changes

Gates the install to a single Linux job:

if: runner.os == 'Linux' && matrix.python-version == '3.13'

Coverage is unaffected, since Codecov merges the reports from every job and the 3.13 job still exercises the compile path.

Testing

Ran the suite locally with TeX Live removed from PATH, which is what the other three Linux jobs will now look like: 126 passed, 1 skipped, the skip being the compile test.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BYjDL98znSud1yFh9chnkP

`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.
@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (0f26ead) to head (f9bcf26).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            4         4           
  Lines          673       673           
=========================================
  Hits           673       673           
Flag Coverage Δ
unittests 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@roytsmart
roytsmart merged commit bf3184b into main Aug 18, 2026
16 checks passed
@roytsmart
roytsmart deleted the ci-install-latex-once branch August 18, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant