- Added concurrency group 'deploy-vps' to all deployment workflows - Prevents multiple deployments from running simultaneously on VPS - Deployments now queue and run one at a time - Fixes resource exhaustion when all apps deploy at once 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
name: Deploy Hackathon
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
paths:
|
|
- 'apps/hackathon/**' # Auto deploy when changes pushed to apps/hackathon
|
|
|
|
concurrency:
|
|
group: deploy-vps
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Deploy via SSH
|
|
uses: appleboy/ssh-action@v1.0.3
|
|
with:
|
|
host: ${{ secrets.SSH_HOST }}
|
|
username: ${{ secrets.SSH_USER }}
|
|
key: ${{ secrets.SSH_KEY }}
|
|
port: ${{ secrets.SSH_PORT }}
|
|
command_timeout: 30m
|
|
script: |
|
|
set -e
|
|
if [ ! -d ~/imphnen-frontend-service-hackathon ]; then
|
|
git clone https://github.com/IMPHNEN/imphnen-frontend-service.git ~/imphnen-frontend-service-hackathon
|
|
else
|
|
cd ~/imphnen-frontend-service-hackathon && git fetch origin && git reset --hard origin/develop && git pull
|
|
fi
|
|
cat > ~/imphnen-frontend-service-hackathon/.env.local << EOF
|
|
VITE_API_URL=${{ secrets.VITE_API_URL }}
|
|
VITE_SUPABASE_URL=${{ secrets.VITE_SUPABASE_URL }}
|
|
VITE_SUPABASE_ANON_KEY=${{ secrets.VITE_SUPABASE_ANON_KEY }}
|
|
EOF
|
|
docker compose -f ~/imphnen-frontend-service-hackathon/docker-compose-hackathon.yml down || true
|
|
docker compose -f ~/imphnen-frontend-service-hackathon/docker-compose-hackathon.yml build
|
|
docker compose -f ~/imphnen-frontend-service-hackathon/docker-compose-hackathon.yml up -d
|
|
docker image prune -af
|