Files
site/.gitea/workflows/shots.yml
T
teahubxyzandClaude Fable 5.1 9a4e34268f shots: a workflow that renders shots/desktop.png with headless Chromium and commits it
Teahub pages serves this repo at gandora.yolopreneur.lol; the yolopreneur.lol
venture list shows shots/desktop.png as the card image. Actions -> shots ->
Run workflow (also runs on a push to main that touches index.html).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hn2DWhV7Z1qUxjhCprDb88
2026-10-20 22:33:29 +00:00

49 lines
2.0 KiB
YAML

name: shots
# Render shots/desktop.png (the venture-list card image on yolopreneur.lol) from this repo's own index.html with
# headless Chromium, and commit it when it changed. Same recipe as Time's refresh workflow; Playwright's Chromium is
# installed when the runner has no Chrome.
on:
workflow_dispatch:
push:
branches: [main]
paths: [index.html, brain.js, favicon.svg]
permissions:
contents: write
concurrency:
group: shots
cancel-in-progress: true
jobs:
shots:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 1
- uses: actions/setup-node@v4
with:
node-version: 22
- name: find Chrome, or install Playwright's Chromium
run: |
set -eu
for c in google-chrome google-chrome-stable chromium chromium-browser; do
if command -v "$c" >/dev/null 2>&1; then echo "CHROME=$(command -v "$c")" >> "$GITHUB_ENV"; exit 0; fi
done
npx -y playwright@1.55.0 install --with-deps chromium > /tmp/pw.log 2>&1 || { tail -20 /tmp/pw.log; exit 1; }
c=$(find "$HOME/.cache/ms-playwright" -type f -name chrome -path '*chrome-linux*' | head -1)
[ -n "$c" ] && [ -x "$c" ] || { echo "::error::no Chromium after the install"; exit 1; }
echo "CHROME=$c" >> "$GITHUB_ENV"
- name: shoot
env:
CHROME_FLAGS: "--no-sandbox --disable-dev-shm-usage --disable-gpu"
run: sh tools/shots.sh
- name: commit
run: |
set -eu
git add shots/desktop.png
if git diff --cached --quiet; then echo "shot unchanged"; exit 0; fi
git -c user.name='gitea-actions[bot]' -c user.email='gitea-actions[bot]@users.noreply.teahub.xyz' commit -q -m "shots: desktop.png"
git push -q origin HEAD:main
- name: tell Teahub pages to pull
run: curl -fsS -X POST "https://gandora.yolopreneur.lol/_hook/gandora/site" || echo "pages pulls by itself within five minutes"