name: Deploy Portal on: push: branches: - main workflow_dispatch: jobs: deploy: name: Deploy to Production runs-on: ubuntu-latest steps: - name: Deploy via SSH uses: appleboy/ssh-action@v1.2.0 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH_KEY }} port: ${{ secrets.PORT }} script_stop: true script: | set -e cd ${{ secrets.PROJECT_PATH }} echo "Pulling latest code..." git pull origin main echo "Installing dependencies..." composer install --no-dev --optimize-autoloader --no-interaction --no-progress echo "Running migrations..." php artisan migrate --force echo "Optimizing..." php artisan optimize echo "Deploy completed."