Skip to content

build-lectures: -n (nitpick) absent from default strictness; no extra-args passthrough via build-jupyter-cache #97

Description

@mmcky

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-programming ci.yml:87 + publish.yml:103 — -n -W --keep-going
  • lecture-python-intro ci.yml:86 — -nW --keep-going; publish.yml:91 — none, neither -n nor -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-args beats a blanket extra-args, since pdflatex and jupyter already inject -n and would get it twice.

Then, in this order

  • Apply the decided strictness to templates/ci.yml:82 and templates/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 the upload-failure-reports plumbing from v0.11.0 (build-jupyter-cache: container-mode failures are silent, undebuggable, and use unpinned sub-actions #83); update the reproduce commands at :439-443, whose comment (:438) requires them to match today's flags. templates/cache.yml:62 inherits the gap and cannot carry the strictness decision until then.
  • Document the native-equivalent invocation in docs/MIGRATION-GUIDE.md, which never mentions extra-args; the only nitpick guidance is the "Nitpick mode" example at build-lectures/README.md:212.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement to existing content or functionality

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions