name: Deploy Preprod on: push: branches: - preprod jobs: build-and-deploy: name: Build and Deploy to Preprod runs-on: docker container: image: forgejo-ci-node:latest steps: - name: Checkout code run: | git clone --depth 1 --branch preprod https://forge.studio-variable.com/${{ github.repository }}.git . ls -la - name: Install npm dependencies run: npm install - name: Build frontend (preprod) run: npm run build:preprod - name: Install composer dependencies run: | cd dist composer install --no-dev --optimize-autoloader - name: Deploy via rsync env: USERNAME: ${{ secrets.USERNAME }} PASSWORD: ${{ secrets.PASSWORD }} HOST: ${{ secrets.HOST }} PREPROD_PATH: ${{ secrets.PREPROD_PATH }} run: | cd dist echo "Deploying site/" sshpass -p "$PASSWORD" rsync -az --delete -O --no-perms --no-owner --no-group \ --include 'accounts/' \ --exclude 'accounts/*' \ --include 'sessions/' \ --exclude 'sessions/*' \ --include 'cache/' \ --exclude 'cache/*' \ -e 'ssh -p 2244 -o StrictHostKeyChecking=no' \ site/ $USERNAME@$HOST:$PREPROD_PATH/site/ echo "Deploying vendor/" sshpass -p "$PASSWORD" rsync -az --delete -O \ -e 'ssh -p 2244 -o StrictHostKeyChecking=no' \ vendor/ $USERNAME@$HOST:$PREPROD_PATH/vendor/ echo "Deploying kirby/" sshpass -p "$PASSWORD" rsync -az --delete -O \ -e 'ssh -p 2244 -o StrictHostKeyChecking=no' \ kirby/ $USERNAME@$HOST:$PREPROD_PATH/kirby/ echo "Deploying assets/" sshpass -p "$PASSWORD" rsync -az --delete -O \ -e 'ssh -p 2244 -o StrictHostKeyChecking=no' \ assets/ $USERNAME@$HOST:$PREPROD_PATH/assets/