ci(upstream-sync): skip LFS smudge to unblock fetch step

The repo's .gitattributes (inherited from upstream) routes certain paths
through git-lfs. Gitea's LFS store doesn't hold those blobs, so on
checkout the smudge filter tries to download them, 404s, and leaves git
in a state where subsequent 'git fetch' calls appear to succeed but
don't actually populate refs.

Run 89 was bitten by this: checkout 'succeeded' with an LFS smudge
fatal, then 'git fetch upstream develop' ran silently, 'git merge
--ff-only upstream/develop' failed because upstream/develop ref
didn't exist locally, and the workflow logged a misleading warning
blaming a divergence that wasn't there.

Setting GIT_LFS_SKIP_SMUDGE=1 keeps LFS pointers as-is. We don't need
image bytes to ff-merge and diff refs.
This commit is contained in:
Cobb 2026-04-17 11:31:48 -07:00
parent d25549fcc9
commit e710e7d669

View file

@ -17,6 +17,13 @@ on:
jobs: jobs:
sync-main: sync-main:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
# The repo's .gitattributes (inherited from upstream) routes the
# screenshots/ tree through git-lfs. Gitea's LFS store doesn't hold
# those blobs, so on checkout the smudge filter tries to 404-download
# them and wedges git state for subsequent fetches. We don't need
# the image bytes here — leave LFS pointers as-is.
GIT_LFS_SKIP_SMUDGE: '1'
steps: steps:
- name: Checkout main - name: Checkout main
@ -24,6 +31,7 @@ jobs:
with: with:
ref: main ref: main
fetch-depth: 0 fetch-depth: 0
lfs: false
# Built-in token Gitea hands us — scoped to this repo, has push. # Built-in token Gitea hands us — scoped to this repo, has push.
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}