feat(seo): batch 14 — Respond.io + ManyChat alternatives and Messagin… #231
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Production | |
| on: | |
| push: | |
| branches: [main] | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Deploy via SSH | |
| uses: appleboy/ssh-action@v1 | |
| with: | |
| host: ${{ secrets.DEPLOY_HOST }} | |
| username: deploy | |
| key: ${{ secrets.DEPLOY_KEY }} | |
| script: | | |
| cd /var/www/ot1-pro.com | |
| git pull origin main | |
| # ── Prod .env guards (idempotent — only writes if not already set) ── | |
| sed -i 's/^APP_DEBUG=true/APP_DEBUG=false/' .env | |
| grep -q '^FLARE_KEY=' .env || echo 'FLARE_KEY=${{ secrets.FLARE_KEY }}' >> .env | |
| grep -q '^FLARE_LOG=' .env || echo 'FLARE_LOG=true' >> .env | |
| grep -q '^LOG_STACK=.*flare' .env || sed -i 's/^LOG_STACK=.*/LOG_STACK=single,flare/' .env | |
| composer install --no-dev --optimize-autoloader | |
| npm ci && npm run build | |
| php artisan migrate --force | |
| php artisan config:cache | |
| php artisan route:cache | |
| php artisan view:cache | |
| php artisan queue:restart | |
| sudo systemctl reload php8.4-fpm | |
| # Note: the previous incarnation of this workflow ran `sudo chown/chmod/touch` | |
| # on storage and bootstrap/cache. Deploy user's sudoers only permits | |
| # `sudo systemctl reload php8.4-fpm` (see /etc/sudoers.d/deploy), so those | |
| # commands were silently failing (or noisily failing after adding sudo) for | |
| # months. Prod runs fine without them: php-fpm owns storage/logs, Laravel | |
| # manages its own log files, and bootstrap/cache is already writable by deploy. | |
| # Removed on 2026-07-09 to stop reporting the workflow as failed. |