# Sample workflow for building and deploying a Hugo site to GitHub Pages
name: Deploy

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ["main"]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
  group: "deploy"
  cancel-in-progress: false

# Default to bash
defaults:
  run:
    shell: bash

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v3
        with:
          hugo-version: "latest"
      - name: Checkout
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Build with Hugo
        env:
          HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
          HUGO_ENVIRONMENT: production
        run: |
          hugo \
            --minify \
            --cleanDestinationDir
      - name: rsync deployments
        uses: burnett01/rsync-deployments@7.0.2
        with:
          switches: -rlp --delete
          path: ./public/
          remote_path: /var/www/johannes-dokumentation/
          remote_host: johannes-dokumentation.z1glr.de
          remote_user: deploy_johannes-dokumentation
          remote_key: ${{ secrets.DEPLOY_KEY }}
