name: Antigravity DevSecOps run-name: Deploying Antigravity Agent 🚀 on: push: branches: - main jobs: # 1. ЕТАП БЕЗПЕКИ (Security Check) security-audit: runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v3 # Сканування на забуті паролі/ключі - name: Gitleaks Scan uses: gitleaks/gitleaks-action@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} continue-on-error: true # Поки що тільки попереджаємо, не блокуємо # 2. ЕТАП ДЕПЛОЮ (Build & Run) deploy-agent: needs: security-audit runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v3 - name: Build Docker Image run: | echo "🏗️ Building Antigravity Image..." # Збираємо образ прямо на хості (через сокет) docker build -t antigravity-core:latest . - name: Deploy Container run: | echo "🚀 Deploying to Server Infrastructure..." # Зупиняємо старий контейнер (якщо є) docker rm -f antigravity || true # Запускаємо новий # Ми підключаємо його до тієї ж мережі, де живуть Postgres і Graphiti (з твого Caddyfile ми бачили n8n_default або подібне) # ТУТ ВАЖЛИВО: Перевір назву мережі командою `docker network ls` на сервері. # Зазвичай це ім'я папки, де лежить docker-compose + _default. # Я використовую 'stack_default' як приклад. docker run -d \ --name antigravity \ --restart unless-stopped \ --network stack_default \ -e DB_HOST=postgres \ -e DB_USER=postgres \ -e DB_PASS=mysecretpassword \ -e DB_NAME=postgres \ -e GRAPHITI_URL=http://graphiti:8000 \ antigravity-core:latest - name: Cleanup run: docker image prune -f