perfect-postcode/.forgejo/workflows/docker-publish.yml
Andras Schmelczer 7656f24544
Some checks failed
Build and publish Docker image / build-and-push (push) Successful in 2m53s
CI / Check (push) Failing after 5m5s
Fix LFS
2026-06-15 21:30:38 +01:00

44 lines
1.5 KiB
YAML

name: Build and publish Docker image
on:
push:
branches: [main]
tags: ["v*"]
workflow_dispatch:
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
# 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
- name: Build and publish main image
uses: http://forgejo:3000/andras/ci-actions/docker-publish@main
with:
context: .
token: ${{ secrets.FORGEJO_PACKAGE_TOKEN }}
- name: Build and publish screenshot image
uses: http://forgejo:3000/andras/ci-actions/docker-publish@main
with:
context: ./screenshot
image-suffix: -screenshot
token: ${{ secrets.FORGEJO_PACKAGE_TOKEN }}