name: Build

on:
  push:
    branches:
      - master

env:
  HOST: ${{ secrets.SSH_HOSTNAME }}
  HOST_DIR: ${{ secrets.SSH_TARGET_DIR }}
  SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
  SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: git.0x45.cz/em/mixtape:240904

    steps:
      - name: Checkout repository
        run: git clone https://git.0x45.cz/em/mixtape.git /workspace/em/mixtape

      - name: Build Chordpro
        run: make pdf html songbook

      - name: Build Zola
        run: zola build

      - name: Deploy
        run: |
          eval "$(ssh-agent -s)"
          echo "${SSH_PRIVATE_KEY}" | ssh-add -
          mkdir -p ~/.ssh/
          ssh-keyscan -H "${HOST}" >> ~/.ssh/known_hosts
          rsync -ra --delete-after public/* "${SSH_USERNAME}@${HOST}:${HOST_DIR}"