diff --git a/.forgejo/workflows/docker-publish.yml b/.forgejo/workflows/docker-publish.yml index 542abe0..d1abd17 100644 --- a/.forgejo/workflows/docker-publish.yml +++ b/.forgejo/workflows/docker-publish.yml @@ -10,13 +10,23 @@ jobs: build-and-push: runs-on: docker steps: + # The product-demo videos and their poster JPGs live in Git LFS (see + # .gitattributes). The checkout below needs `lfs: true` to smudge the real + # binaries, but the runner image ships without the git-lfs executable, so + # install it first — otherwise checkout fails with "Unable to locate + # executable file: git-lfs". + - name: Install Git LFS + run: | + if command -v sudo >/dev/null 2>&1; then SUDO=sudo; else SUDO=; fi + $SUDO apt-get update + $SUDO apt-get install -y --no-install-recommends git-lfs + - name: Checkout uses: actions/checkout@v4 - # The product-demo videos and their poster JPGs live in Git LFS - # (see .gitattributes). Without this, checkout writes ~130-byte LFS - # pointer text files, the Docker build copies those stubs into - # frontend/dist/video/*, and the server serves text as video/mp4 — - # so the videos never load in production. Smudge the real binaries. + # Without lfs, checkout writes ~130-byte LFS pointer text files, the + # Docker build copies those stubs into frontend/dist/video/*, and the + # server serves text as video/mp4 — so the videos never load in + # production. Smudge the real binaries instead. with: lfs: true