on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: docker
    container:
      image: node:16-bullseye # Required by actions/checkout and actions/upload-artifact
    steps:
      - uses: actions/checkout@v3
      - name: Install dependencies
        run: npm install
      - name: Build
        run: npx @11ty/eleventy
      - name: Upload artifact
        uses: actions/upload-artifact@v3
        with:
          name: dist
          path: dist/
  deploy:
    needs: [build]
    runs-on: docker
    container:
      image: node:16-bullseye # Required by actions/download-artifact
    steps:
      - uses: actions/download-artifact@v3
        with:
          name: dist
      - name: rsync deployment
        uses: https://git.hostux.fr/Hostux/rsync-deployments@6.0.0
        with:
          switches: -az --no-o --no-g --no-devices --no-specials --delete --progress --checksum
          path: .
          remote_path: ${{ secrets.DEPLOY_PATH }}
          remote_host: ${{ secrets.DEPLOY_HOST }}
          remote_user: ${{ secrets.DEPLOY_USER }}
          remote_key: ${{ secrets.DEPLOY_KEY }}