Skip to content

Add an lfs input to the reusable CI workflows - #14

Merged
MattFisher merged 1 commit into
mainfrom
feat/lfs-checkout-input
Aug 27, 2026
Merged

MattFisher merged 1 commit into
mainfrom
feat/lfs-checkout-input

Conversation

@MattFisher

Copy link
Copy Markdown
Owner

Problem

A repo whose tests read LFS-tracked fixtures cannot currently use these
workflows. actions/checkout runs without lfs, so the working tree gets
130-byte pointer files, and the failure surfaces as whatever the reading
library says about malformed input — nothing anywhere in the output mentions
LFS.

Found while setting up azai-portfolio, whose test fixtures are LFS-tracked
PDFs. The symptom there was:

E  pymupdf.mupdf.FzErrorFormat: code=7: no objects found

which took a log dig to trace back to LFS.

Change

Both python-ci.yml and node-ci.yml gain an lfs boolean input, passed
through to actions/checkout.

Defaults to false, so nothing changes for existing consumers: an LFS
pull costs bandwidth against the account quota on every run, and most projects
have nothing in LFS to fetch.

Added to node-ci.yml as well as python-ci.yml for symmetry — a frontend
with LFS-tracked assets has the same problem, and the two workflows already
mirror each other's inputs.

Note on delivery

Consumers pin @v1, so this reaches them when a release is published and
bump-v1.yml moves the tag — merging alone is not enough.

Possible follow-up, not in this PR

Scaffolding with use_frontend=true produces a repo whose frontend job is
red from the first commit, because the template creates biome.json but no
skeleton in frontend_dir. Worth deciding whether the template should
scaffold a minimal package.json/tsconfig.json there, or whether red CI
until the frontend exists is the intended signal. Happy to do either.

Posted by Claude Code on Matt's behalf.

A repo whose tests read LFS-tracked fixtures currently cannot use these
workflows: checkout produces pointer files, and the failure surfaces as
whatever the reading library says about malformed input, with nothing
mentioning LFS anywhere in the output.

Defaults to false, so nothing changes for the projects that have no LFS
objects and should not pay the bandwidth.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@MattFisher
MattFisher merged commit ba93ad0 into main Aug 27, 2026
3 checks passed
@MattFisher
MattFisher deleted the feat/lfs-checkout-input branch August 27, 2026 04:08
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.

1 participant