# 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