build-lectures: `-n` (nitpick) absent from default strictness; no extra-args passthrough via build-jupyter-cache
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 0
- Forks
- 1
- Avg merge
- 32m
- Merged PRs (30d)
- 3
Description
From the v0.8.0 validation study against native lecture-python-intro / lecture-python-programming. Context: QuantEcon/lectures#11.
build-lectures defaults extra-args to -W --keep-going (build-lectures/action.yml:25) — no -n. HTML-only gap: :103-104 hard-codes -n for pdflatex and jupyter, and only the html branch (:102) leaves builder_args empty, so the published site builds without nitpick. build-jupyter-cache calls build-lectures at three fixed with: blocks with no extra-args passthrough (build-jupyter-cache/action.yml:160-190), so its consumers cannot get -n — or any flag — in.
Native practice is not uniform:
lecture-python-programmingci.yml:87 + publish.yml:103 —-n -W --keep-goinglecture-python-introci.yml:86 —-nW --keep-going; publish.yml:91 — none, neither-nnor-W- both repos' cache.yml —
-W --keep-going
So the default already equals both native cache builds and is stricter than intro's publish; -n diverges only on the CI/publish HTML path, which a direct build-lectures consumer can override.
templates/ci.yml:82 and templates/publish.yml:98 hard-code extra-args: '-W --keep-going', and extra-args replaces rather than extends the default (build-lectures/README.md:190-203): changing the default is a no-op for template-derived consumers, and adding -n but dropping -W silently loses build-failure detection.
Decisions needed before any code
- Org strictness for HTML builds — add
-n? Standardization, not a parity fix, and consumer-visible: repos with broken cross-references start failing CI, so it wants an announcement and a minor release. - Passthrough shape — a per-builder
html-extra-argsbeats a blanketextra-args, since pdflatex and jupyter already inject-nand would get it twice.
Then, in this order
- Apply the decided strictness to
templates/ci.yml:82andtemplates/publish.yml:98— that is what reaches consumers. - Add the passthrough to
build-jupyter-cache/action.yml:42-51, wired at:168/:178/:188, mirroring theupload-failure-reportsplumbing from v0.11.0 (#83); update the reproduce commands at:439-443, whose comment (:438) requires them to match today's flags.templates/cache.yml:62inherits the gap and cannot carry the strictness decision until then. - Document the native-equivalent invocation in
docs/MIGRATION-GUIDE.md, which never mentionsextra-args; the only nitpick guidance is the "Nitpick mode" example atbuild-lectures/README.md:212.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read build-lectures/action.yml, build-jupyter-cache/action.yml, the CI, publish, and cache templates, and the README sections on extra-args. Compare the existing builder arguments with the reproduce commands at build-jupyter-cache/action.yml:439-443, then confirm the strictness and passthrough decisions before changing anything. Done means the chosen flags reach the relevant consumers, the cache action exposes the agreed arguments, and the migration guidance and reproduction commands match.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, shell
- Domain
- ci-cd, devops, documentation
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100