name: Deploy content to live site # Hand-edited site content lives in this repo. Every push to main # rsyncs it into /srv/zddc/ on the deploy host (Caddy bind-mount). # /releases/ is owned by the ZDDC source repo's pipeline and is # excluded from this rsync; it's untouched here. on: push: branches: [main] workflow_dispatch: jobs: deploy: runs-on: host steps: - name: Checkout uses: actions/checkout@v4 - name: Rsync content → /srv/zddc/ run: | set -eu rsync -av --delete-after \ --exclude='/releases/' \ --exclude='/.git*' \ --exclude='/.forgejo*' \ --exclude='/README.md' \ --exclude='/LICENSE' \ --exclude='/avatar.png' \ "$GITHUB_WORKSPACE/" /srv/zddc/ - name: Verify run: | # Runner is in a container on caddy-net; reach Caddy by container # name. See deploy-release.yml in ZDDC for the same pattern. curl -ksI --connect-to "zddc.varasys.io:8443:caddy:8443" \ https://zddc.varasys.io:8443/ | head -3