name: Deploy Hugo Site on: push: branches: - main jobs: deploy: runs-on: ubuntu-24.04 # We don't use 'container:' at the top level to avoid entrypoint issues steps: - name: Checkout uses: actions/checkout@v4 with: submodules: true # Hugo sites often have theme submodules fetch-depth: 0 # Hugo needs history for .Lastmod - name: Setup Hugo uses: peaceiris/actions-hugo@v3 with: hugo-version: 'latest' extended: true - name: Hugo Build run: hugo --minify - name: Install SSH and Rsync run: | sudo apt-get update sudo apt-get install -y rsync openssh-client - name: SSH vorbereiten run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 # Scan the host key to avoid interactive prompts ssh-keyscan -H webserver.hahmann-trier.local >> ~/.ssh/known_hosts # If ssh-keyscan fails because of your local network, # ensure secrets.KNOWN_HOSTS is correctly set instead. - name: Deploy via rsync run: | rsync -avz --delete \ -e "ssh -o StrictHostKeyChecking=accept-new" \ public/ \ gitea-runner@webserver.hahmann-trier.local:/var/www/www-deepwatersurvival-de