Skip to content

test onboarding 5

test onboarding 5 #20

Workflow file for this run

name: Deploy Backend
on:
push:
branches: [back]
jobs:
deploy-backend:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
with:
ref: back
- name: Write .env
run: |
cat > /var/www/myapp/backend/.env <<EOF
PROJECT_NAME=HackathonBack
VERSION=0.1.0
DEBUG=false
ALLOWED_ORIGINS=${{ secrets.ALLOWED_ORIGINS }}
AI_SERVICE_URL=${{ secrets.AI_SERVICE_URL }}
CA_CERT_PATH=${{ secrets.CA_CERT_PATH }}
MONGODB_URI=${{ secrets.MONGODB_URI }}
MONGODB_DB_NAME=${{ secrets.MONGODB_DB_NAME }}
EOF
- name: Write CA certificate
run: |
mkdir -p /var/www/myapp/backend/certs
echo "${{ secrets.CA_CERT_B64 }}" | base64 -d > /var/www/myapp/backend/certs/ca.crt
- name: Copy backend to app directory
run: |
rsync -a --exclude='.env' --exclude='venv' --exclude='__pycache__' \
$GITHUB_WORKSPACE/ /var/www/myapp/backend/
- name: Install backend dependencies
run: |
source /var/www/myapp/backend/venv/bin/activate
pip install -r /var/www/myapp/backend/requirements.txt
- name: Restart FastAPI
run: sudo systemctl restart myapp
- name: Wait for FastAPI to start
run: sleep 3
- name: Health check
run: |
RESPONSE=$(curl -s http://127.0.0.1:8000/api/v1/health)
echo "Response: $RESPONSE"
echo $RESPONSE | grep -q '"status":"ok"' \
|| (echo "Health check failed!" && exit 1)