Install LaTeX in one job rather than four - #15
Merged
Conversation
`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 Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #15 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 4
Lines 673 673
=========================================
Hits 673 673
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
All four Linux jobs install TeX Live, but only one of them needs it.
test_generate_archive_compilesis the only test which actually compiles a document; every other test monkeypatches the compiler. That test carries askipifonlatexmkbeing 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:
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