name: Build Hugo Site on: push: branches: - main jobs: build: runs-on: self-hosted container: image: klakegg/hugo:ext-alpine steps: - name: Checkout uses: actions/checkout@v3 - name: Build run: hugo --minify - name: Verify secret presence run: | [ -n "$SSH_KEY" ] && echo "SSH_KEY is non-empty" || echo "SSH_KEY missing" [ -n "$SSH_USER" ] && echo "SSH_USER is non-empty" || echo "SSH_USER missing" [ -n "$SSH_HOST" ] && echo "SSH_HOST is non-empty" || echo "SSH_HOST missing" [ -n "$DEPLOY_PATH" ] && echo "DEPLOY_PATH is non-empty" || echo "DEPLOY_PATH missing" env: SSH_KEY: ${{ secrets.SSH_KEY }} SSH_USER: ${{ secrets.SSH_USER }} SSH_HOST: ${{ secrets.SSH_HOST }} DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }} - name: Deploy run: | apk add --no-cache rsync openssh mkdir -p ~/.ssh echo "$SSH_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 rsync -avz --delete -e "ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no" public/ ${SSH_USER}@${SSH_HOST}:${DEPLOY_PATH} env: SSH_KEY: ${{ secrets.SSH_KEY }} SSH_USER: ${{ secrets.SSH_USER }} SSH_HOST: ${{ secrets.SSH_HOST }} DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }}