d3ro-voice/.forgejo/workflows/deploy-site.yml
Yun Chan e87567fa90
Some checks failed
deploy-site-windows / deploy-win (push) Successful in 31s
deploy-site / deploy (push) Failing after 35s
ci: add .forgejo/workflows/deploy-site.yml for Cloudflare Pages auto-deployment to d3ro.chanpaca.net
2026-08-20 17:16:12 +09:00

50 lines
1.7 KiB
YAML

name: deploy-site
on:
push:
branches: [main]
tags: ["v*"]
release:
types: [published]
workflow_dispatch:
jobs:
deploy:
runs-on: linux-builder
steps:
- name: checkout
env: { CI_TOKEN: "${{ github.token }}" }
run: |
proto="${GITHUB_SERVER_URL%%://*}"; host="${GITHUB_SERVER_URL#*://}"
url="$proto://actions:${CI_TOKEN}@${host%/}/${GITHUB_REPOSITORY}.git"
[ -d .git ] || git init -q .
git remote remove origin 2>/dev/null || true
git remote add origin "$url"
git fetch -q --depth 1 origin "$GITHUB_REF"
git checkout -q -f FETCH_HEAD
git clean -qfdx
- name: 의존성 설치 및 사이트 빌드
run: |
npm ci --prefix site || npm install --prefix site
npm run build --prefix site
node scripts/ci/sync-and-publish-forgejo-release.mjs || true
- name: Cloudflare Pages 배포 (d3ro.chanpaca.net)
env:
CLOUDFLARE_API_TOKEN: "${{ secrets.CF_API_TOKEN || secrets.CLOUDFLARE_API_TOKEN }}"
CLOUDFLARE_ACCOUNT_ID: "${{ secrets.CF_ACCOUNT_ID || secrets.CLOUDFLARE_ACCOUNT_ID }}"
run: |
if [ -n "$CLOUDFLARE_API_TOKEN" ]; then
echo "Cloudflare Pages 배포 시작 (d3ro)..."
npx --yes wrangler@latest pages deploy site/dist \
--project-name d3ro \
--branch main \
--commit-dirty=true || \
npx --yes wrangler@latest pages deploy site/dist \
--project-name d3ro-voice \
--branch main \
--commit-dirty=true
else
echo "CLOUDFLARE_API_TOKEN 없음"
fi