name: Hugo on: [push] jobs: build: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Add key run: | mkdir $HOME/.ssh && \ echo "${{ secrets.SSH_PRIVATE_KEY }}" > $HOME/.ssh/id_rsa - name: Grab packages run: | apt-get update && \ apt-get install -y jq rsync tar wget - name: Get latest Hugo version run: | url=$(curl --silent "https://api.github.com/repos/gohugoio/hugo/releases/latest" | jq -r '.assets[] | select(.name | contains("linux-amd64.tar.gz")) | .browser_download_url' | grep -E 'hugo_[0-9]+\.[0-9]+\.[0-9]+_linux-amd64.tar.gz') wget -P /tmp/hugo/ "$url" version=$(echo "$url" | grep -oP 'hugo_\K[0-9]+\.[0-9]+\.[0-9]+') echo "Downloaded Hugo version: $version" - name: Unpack Hugo run: tar -xf /tmp/hugo/* -C ${{ gitea.workspace }}/bin - name: Build the static webpage run: ${{ gitea.workspace }}/bin/hugo --minify - name: Test static page run: bash ${{ gitea.workspace }}/bin/test_static_page.sh - name: Deploy to Server uses: easingthemes/ssh-deploy@main env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} ARGS: "-rlgoDzvc -i --delete" SOURCE: "public/" REMOTE_HOST: ${{ secrets.REMOTE_HOST }} REMOTE_USER: ${{ secrets.REMOTE_USER }} TARGET: ${{ secrets.REMOTE_TARGET }}