Add an lfs input to the reusable CI workflows - #14
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A repo whose tests read LFS-tracked fixtures cannot currently use these
workflows.
actions/checkoutruns withoutlfs, so the working tree gets130-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-trackedPDFs. The symptom there was:
which took a log dig to trace back to LFS.
Change
Both
python-ci.ymlandnode-ci.ymlgain anlfsboolean input, passedthrough to
actions/checkout.Defaults to
false, so nothing changes for existing consumers: an LFSpull costs bandwidth against the account quota on every run, and most projects
have nothing in LFS to fetch.
Added to
node-ci.ymlas well aspython-ci.ymlfor symmetry — a frontendwith 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 andbump-v1.ymlmoves the tag — merging alone is not enough.Possible follow-up, not in this PR
Scaffolding with
use_frontend=trueproduces a repo whosefrontendjob isred from the first commit, because the template creates
biome.jsonbut noskeleton in
frontend_dir. Worth deciding whether the template shouldscaffold a minimal
package.json/tsconfig.jsonthere, or whether red CIuntil the frontend exists is the intended signal. Happy to do either.
Posted by Claude Code on Matt's behalf.