name: Deploy on: push: branches: - main jobs: deploy: name: Build and Deploy to Production runs-on: docker container: image: forgejo-ci-node: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: | npm ci - name: Build Vue app run: | npm run build ls -la dist/ ls -la dist/assets/dist/ - name: Deploy via FTP env: USERNAME: ${{ secrets.USERNAME }} PASSWORD: ${{ secrets.PASSWORD }} PRODUCTION_HOST: ${{ secrets.PRODUCTION_HOST }} run: | cd dist lftp -c " set ftp:ssl-allow no; open -u $USERNAME,$PASSWORD $PRODUCTION_HOST; mirror --reverse --delete --verbose --ignore-time --parallel=10 \ -x 'local/' \ -x 'css/src/' \ -x 'css/style.css' \ -x 'css/style.css.map' \ -x 'css/style.scss' \ assets assets; mirror --reverse --delete --verbose --ignore-time --parallel=10 \ -x 'accounts/' \ -x 'cache/' \ -x 'sessions/' \ site site; mirror --reverse --delete --verbose --ignore-time --parallel=10 \ kirby kirby; mirror --reverse --delete --verbose --ignore-time --parallel=10 \ vendor vendor; put index.php -o index.php; quit"