QuantEcon / QuantEcon/actions

Reference: external actions and CI tooling worth studying for our own design

Open
#115 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation low-priority
Dominant language
Shell
Stars
0
Forks
1
Avg merge
32m
Merged PRs (30d)
3

Description

Standing reading list of external Actions and CI tooling worth studying as we design our own action surface — not a work item. Add finds as comments.

xu-cheng/latex-action

https://github.com/xu-cheng/latex-action — "GitHub Action to compile LaTeX documents", ~1.4k stars, actively maintained. Compiles LaTeX in a pinned TeX Live container: the closest analogue to build-lectures with builder: pdflatex. Proposed for QuantEcon in 2020 in QuantEcon/meta#16, closed in favour of build-lectures; its input design is the interesting part.

  • texlive_version / docker_image as first-class inputs — the one genuinely open contrast. setup-environment exposes no image or tag input; container-mode is an auto-detected output (setup-environment/action.yml:36) and the image comes from the consumer's container: block (templates/ci.yml:31-32), so toolchain pinning is invisible at our surface. Bears on how containers/ and the Anaconda baseline are surfaced (#106).
  • pre_compile / post_compile hooks — an escape hatch instead of a new input per scenario. build-lectures/action.yml:22 has extra-args; build-jupyter-cache has no equivalent, so callers routed through the cache action cannot reach it — the passthrough half of #97.
  • continue_on_error — a named decision on whether a failed build fails the job. Ours: build-lectures/action.yml:25 defaults extra-args to -W --keep-going, and build-lectures/action.yml:102-104 adds -n only for pdflatex and jupyter, never html. The upstream instance, QuantEcon/meta#340, closed as completed 2026-07-30; ours is the strictness half of #97.
  • extra_system_packages / extra_fonts — layering extra dependencies at run time without rebuilding or forking the base image.

Theirs is stateless — document and toolchain; ours also carry environment setup, caching and publishing, so their input surface is a yardstick for which of our inputs are essential and which are accidental.

The "Potential New Actions" section of docs/FUTURE-DEVELOPMENT.md:38-45 already evaluates lycheeverse/lychee-action in the same register, so folding in costs no new page and no tension with the docs-surplus trim at PLAN.md:80.

  • Decide the home: fold into "Potential New Actions" in docs/FUTURE-DEVELOPMENT.md and close, or keep this open as the standing thread.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the issue's referenced sections in docs/FUTURE-DEVELOPMENT.md and PLAN.md, then review the existing external-action notes and linked action files. Decide whether this material belongs in the existing "Potential New Actions" section or should remain as a standing thread; done means the documentation is folded in and the issue is closed, or the thread is intentionally retained.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, latex, shell
Domain
ci-cd, documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.