Skip to content

test onboarding 6

test onboarding 6 #21

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: |
{
echo "PROJECT_NAME=HackathonBack"
echo "VERSION=0.1.0"
echo "DEBUG=false"
echo "ALLOWED_ORIGINS=${{ secrets.ALLOWED_ORIGINS }}"
echo "AI_SERVICE_URL=${{ secrets.AI_SERVICE_URL }}"
echo "CA_CERT_PATH=${{ secrets.CA_CERT_PATH }}"
echo "MONGODB_URI=${{ secrets.MONGODB_URI }}"
echo "MONGODB_DB_NAME=${{ secrets.MONGODB_DB_NAME }}"
} > /var/www/myapp/backend/.env
- 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 6
- 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)