Files
talk-pro/.gitea/workflows/deploy-talkpro.yml
thomas 6e90a4adb6
Some checks failed
Deploy to talkpro / build-and-sync (push) Failing after 18s
Add Gitea Actions deploy workflow for talkpro.info
Build Astro on push to main/master and rsync dist/ to the marketing
server via SSH. Includes deploy-talkpro.sh, env example, and README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 15:01:58 +08:00

51 lines
1.4 KiB
YAML

# Build talk-pro and rsync dist/ to the marketing VPS (SSH host talkpro).
#
# Gitea repo secrets (Settings → Secrets):
# TALKPRO_SSH_PRIVATE_KEY full PEM for ubuntu@talkpro (same as luis-only.pem)
# TALKPRO_HOST e.g. 13.214.179.69
#
# Optional secrets:
# TALKPRO_USER default ubuntu
# TALKPRO_REMOTE_ROOT default /home/ubuntu/talkpro
#
# Requires a runner with: node 22+, npm, rsync, ssh, ssh-keyscan.
# Site-links API (/api/site-links) is deployed separately from the parent talkpro repo.
name: Deploy to talkpro
on:
push:
branches:
- main
- master
workflow_dispatch:
jobs:
build-and-sync:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- name: Trust host key
env:
TALKPRO_HOST: ${{ secrets.TALKPRO_HOST }}
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keyscan -H "$TALKPRO_HOST" >> ~/.ssh/known_hosts 2>/dev/null || true
- name: Build and rsync to talkpro
env:
TALKPRO_HOST: ${{ secrets.TALKPRO_HOST }}
TALKPRO_USER: ${{ secrets.TALKPRO_USER }}
TALKPRO_REMOTE_ROOT: ${{ secrets.TALKPRO_REMOTE_ROOT }}
TALKPRO_SSH_PRIVATE_KEY: ${{ secrets.TALKPRO_SSH_PRIVATE_KEY }}
run: bash scripts/deploy-talkpro.sh