Files
SnapOtter/.github/workflows/deploy-landing.yml
T
SnapOtterandGitHub 33671d2d92 feat(landing): auto-refresh live GitHub stars and image-pull stats (#292)
Fetch landing stars + image pulls at build time via a shared stats lib, refreshed by a daily cron + authenticated GITHUB_TOKEN. Image Pulls totals live Docker Hub pull_count + a maintained GHCR estimate (ghcr.io has no public pull-count API).
2026-06-22 14:11:48 +08:00

41 lines
1.2 KiB
YAML

name: Deploy Landing to Cloudflare Pages
on:
push:
branches: [main]
paths:
- "apps/landing/**"
# Daily rebuild so the build-time GitHub stars / Docker Hub pull-count fetches
# refresh even when no landing files changed.
schedule:
- cron: "0 7 * * *"
workflow_dispatch:
concurrency:
group: deploy-landing
cancel-in-progress: true
permissions:
contents: read
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: ./.github/actions/setup
- name: Build Landing Page
run: pnpm --filter @snapotter/landing build
env:
# Authenticated GitHub API (5,000 req/hr) so the build-time star-count
# fetch isn't rate-limited on shared runner IPs (60 req/hr unauth).
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Cloudflare Pages
run: npx wrangler pages deploy apps/landing/dist --project-name snapotter-landing --branch main --commit-dirty=true
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}