Skip to content

Add tectonic-on-arxiv github action - #1360

Merged
CraftSpider merged 27 commits into
masterfrom
craftspider/tectonic-on-arxiv
Jul 31, 2026
Merged

Add tectonic-on-arxiv github action#1360
CraftSpider merged 27 commits into
masterfrom
craftspider/tectonic-on-arxiv

Conversation

@CraftSpider

@CraftSpider CraftSpider commented May 2, 2026

Copy link
Copy Markdown
Contributor

This is a WIP idea to port tectonic-on-arxiv to use the actions workflow, allowing us to rely on github's artifacts and compute.

@Mrmaxmeier for thoughts here - as this is your brainchild primarily.

Some elaboration on specific ideas:

  • We can compare runs using artifacts (hardest bit - finding artifacts for a commit is non-trivial)
  • Markdown run results display the diff, I haven't tested yet but I hope they support HTML collapsibles
  • If a run is missing, maybe possible to trigger the workflow for it, not sure
  • With manual workflow triggers, people can request a comparison of any two commits hopefully easily
  • Dataset has to be stored outline in an s3 bucket

@Mrmaxmeier

Copy link
Copy Markdown
Contributor

Interesting idea :) a bus factor >1 for tectonic-on-arXiv would be nice 😄
Doing this on GitHub's infra might also be nice for the "lots of parallel compute" aspect. The setup sounds quite tricky but getting it split across multiple workflow shards should be doable..

I'm not sure how the limits for GitHub Actions work exactly, but compute limits might end up being annoying here. It seems like GitHub comps 2000 compute-minutes per month. For reference: My somewhat aging system takes ~8 CPU-hours per run. If I understand correctly, the compute-minute limit is actually for the 4-core standard runners, so ~16 runs per month.

@CraftSpider

Copy link
Copy Markdown
Contributor Author

That limit is specifically for private repos on the free plan (see this section) - as a public repository, tectonic can use more (though we do want to be a little cautious about not going overboard, so we'll see).

I haven't gotten to a point where I'd try splitting it, but that's an interesting idea. Could be pretty simple as just a matrix job - then wait for all of them to complete for the final summary. At that point I maybe would want to split the dataset, maybe into bundles of ~1000. I'd have to give up the collective dataset to do that if we wanted to stay free, I'm using Cloudflare which has a free tier with limits that should be fine for us, but it caps at 10 GB storage before I start paying for it (access limits exist but are far beyond what we'd use, 10 million file GETs per month, and if it goes over that I'll just be out a couple cents, which, whatever). Alternatively I can try to slim it down - find the largest files and remove some of them, since I suspect some of the size comes from diagrams and images that, while it is nice to test, may be fine to skip at least some of.

@CraftSpider

Copy link
Copy Markdown
Contributor Author

Checking rates - I'll just store more data if need be. The cost per month for like, 50 gigs is totally reasonable.

@CraftSpider

Copy link
Copy Markdown
Contributor Author

1 hour 22 minutes for one runner to do it. Split into thousands, that should be reasonable speed. Alternatively, figuring out how to speed up document compilation even a bit should result in good wins :P

Either way, just need to get it to upload the report as an artifact, turn on pulling from master, and it should be almost ready. I do want to look into requiring it to merge but only running on request somehow, given the compute requirements.

@CraftSpider
CraftSpider force-pushed the craftspider/tectonic-on-arxiv branch from 140a282 to 79263d8 Compare July 28, 2026 01:57
@CraftSpider
CraftSpider marked this pull request as ready for review July 31, 2026 17:37
@codecov

codecov Bot commented Jul 31, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 31.51%. Comparing base (c225dca) to head (bbd38ab).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1360   +/-   ##
=======================================
  Coverage   31.51%   31.51%           
=======================================
  Files         275      275           
  Lines      180823   180823           
  Branches   180823   180823           
=======================================
  Hits        56994    56994           
  Misses      44722    44722           
  Partials    79107    79107           
Components Coverage Δ
tectonic 51.35% <ø> (ø)
bridge_core 36.90% <ø> (ø)
bridge_flate 38.82% <ø> (ø)
bridge_fontconfig 95.67% <ø> (ø)
bridge_freetype2 92.70% <ø> (ø)
bridge_graphite2 42.47% <ø> (ø)
bridge_harfbuzz 82.83% <ø> (ø)
bridge_icu ∅ <ø> (∅)
bridge_png 100.00% <ø> (ø)
bundles 40.84% <ø> (ø)
cfg_support 94.84% <ø> (ø)
dep_support 0.00% <ø> (ø)
docmodel 84.87% <ø> (ø)
engine_bibtex 67.46% <ø> (ø)
engine_spx2html 0.00% <ø> (ø)
engine_xdvipdfmx 64.30% <ø> (ø)
engine_xetex 35.73% <ø> (ø)
errors 47.61% <ø> (ø)
geturl 28.20% <ø> (ø)
io_base 76.11% <ø> (ø)
pdf_io 18.50% <ø> (ø)
status_base 81.92% <ø> (ø)
xdv 55.28% <ø> (ø)
xetex_format 23.31% <ø> (ø)
xetex_layout 59.57% <ø> (ø)

☔ 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.

@CraftSpider
CraftSpider merged commit d2224d9 into master Jul 31, 2026
30 checks passed
@CraftSpider
CraftSpider deleted the craftspider/tectonic-on-arxiv branch July 31, 2026 19:44
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.

2 participants