on: push: branches: - master jobs: deploy: runs-on: debian-testing-slim steps: - name: Update system and install deps env: DEBIAN_FRONTEND=noninteractive run: | apt-get update apt-get install -y hugo rsync openssh-client nodejs - name: Clone repository uses: https://gitea.com/actions/checkout@v4 - name: Initialize submodules run: | git submodule init git submodule update - name: Setup SSH env: SSH_KEY: ${{ secrets.ssh_key }} run: | mkdir ~/.ssh/ printf '%s\n' "${SSH_KEY}" > ~/.ssh/id_rsa chmod 0700 ~/.ssh chmod 0700 ~/.ssh/id_rsa - name: Prepare modules run: /usr/bin/hugo mod get -u - name: Run Hugo run: /usr/bin/hugo --logLevel info - name: Run rsync env: SSH_PORT: ${{ secrets.ssh_port }} run: /usr/bin/rsync --verbose --compress --archive --recursive --progress --checksum --delete --rsh="/usr/bin/ssh -4 -p ${SSH_PORT} -o StrictHostKeyChecking=no" public/ blog@sergiodj.net:.