Files
Benjamin Taylor e655c4858a fix(ci): pull ag-ui's LFS objects in the dojo e2e checkout
`test / e2e / dojo` has failed `langgraph-python`, `langgraph-typescript` and
`langgraph-fastapi` on every run since 2026-09-10, on main and on every open
PR, with:

    Event trace fixture .../ag-ui/apps/dojo/e2e/fixtures/test-image.png
    is a Git LFS pointer, not the real file.

The workflow checks out our own repository with `lfs: true` but checks out
ag-ui without it, so ag-ui's LFS-tracked fixtures arrive as pointer files.
Upstream's `assertFixtureMaterialized` then throws, which is the guard doing
its job: before it existed the suites read a 130-byte text file as if it were
an image.

Set `lfs: true` on the ag-ui checkout, matching the CPK checkout above it and
matching upstream's own dojo-e2e workflow, which this one mirrors and which
sets it on both of its checkouts.

Verified by reproducing both states against a real clone of ag-ui. Cloned with
`GIT_LFS_SKIP_SMUDGE=1`, which is what the workflow does today:

    $ file apps/dojo/e2e/fixtures/test-image.png
    apps/dojo/e2e/fixtures/test-image.png: ASCII text
    $ head -c 43 apps/dojo/e2e/fixtures/test-image.png
    version https://git-lfs.github.com/spec/v1

then `git lfs pull`, which is what `lfs: true` does:

    $ file apps/dojo/e2e/fixtures/test-image.png
    apps/dojo/e2e/fixtures/test-image.png: PNG image data, 1 x 1, 8-bit/color
    RGBA, non-interlaced

The cost is negligible: ag-ui's entire LFS payload is two files totalling
about 2.4 KB, measured with `git lfs ls-files -s`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 12:44:56 -05:00
..