name: Deploy

on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: Deploy to Production
    runs-on: docker
    container:
      image: forgejo-ci-php:latest
    steps:
      - name: Checkout code
        run: |
          git clone --depth 1 --branch main https://forge.studio-variable.com/${{ github.repository }}.git .
          ls -la

      - name: Install dependencies
        run: |
          composer install --no-dev --optimize-autoloader

      - name: Deploy via FTP
        env:
          USERNAME: ${{ secrets.USERNAME }}
          PASSWORD: ${{ secrets.PASSWORD }}
          PREPRODUCTION_HOST: ${{ secrets.PREPRODUCTION_HOST }}
        run: |
          apt-get update -qq && apt-get install -y -qq lftp
          cat > /tmp/lftp-script.txt <<SCRIPT
          set ftp:ssl-allow no
          open -u $USERNAME,$PASSWORD $PREPRODUCTION_HOST
          mirror --reverse --verbose --ignore-time --parallel=10 -x local/ assets assets
          mirror --reverse --verbose --ignore-time --parallel=10 -x accounts/ -x cache/ -x sessions/ site site
          mirror --reverse --verbose --ignore-time --parallel=10 kirby kirby
          mirror --reverse --verbose --ignore-time --parallel=10 vendor vendor
          quit
          SCRIPT
          lftp -f /tmp/lftp-script.txt
