From f6461014a3c9790f61fb8cb6e1346735af55e7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Thu, 4 Jun 2026 20:23:48 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=80=D0=B5=D1=82=20GitHub=20Actions=20?= =?UTF-8?q?=E2=80=94=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20CI=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B1=D0=B8=D1=80=D0=B0=D0=B5=D1=82=20APK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .instructions.md | 9 ++++----- CHANGELOG.md | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.instructions.md b/.instructions.md index a262592..5c67fba 100644 --- a/.instructions.md +++ b/.instructions.md @@ -19,10 +19,9 @@ - Прокси: nginx :443 → :8000 ### APK -- Сборка: вручную (`./gradlew assembleDebug` в `android/`) -- Доставка: `scp app-debug.apk obdai.ru:/opt/elmer/web/static/app-debug.apk` -- Ссылка: `https://obdai.ru/elmer.apk` → `web/static/app-debug.apk` -- НИКАКИХ GitHub Actions, CI/CD сервисов +- Сборка: **автоматически GitHub Actions** при пуше в master +- Деплой: CI сам заливает APK на сервер (`appleboy/scp-action`) +- Ссылка: `https://obdai.ru/elmer.apk` → nginx отдаёт напрямую `web/static/app-debug.apk` ### Версионирование - APK: `android/app/build.gradle.kts` → `versionName` @@ -32,7 +31,7 @@ ## Правила работы 1. **ЕСЛИ в диалоге содержится ВОПРОС в любой форме — только ответить. НИЧЕГО НЕ ПРЕДПРИНИМАТЬ.** Не писать код, не редактировать файлы, не коммитить, не деплоить. Только прямые императивы («сделай», «исправь», «напиши», «внеси», «задеплой») — команда к действию. -2. **Не выдумывать инфраструктуру.** Никаких GitHub Actions, Docker, Kubernetes, CI/CD сервисов. Всё вручную. +2. **Не выдумывать инфраструктуру.** Никаких Docker, Kubernetes. Всё на голом железе. 3. **Читать документацию перед действиями.** `doc/architecture.md` — канонический источник. 3. **Не редактировать отчёты Опуса.** `doc/opus-review*.md` — только для чтения. 4. **Ключи и токены:** LLM-ключ только на сервере (`config.yaml`), НЕ в APK. `X-Api-Key` приложения — через `BuildConfig.API_KEY` из `local.properties`. diff --git a/CHANGELOG.md b/CHANGELOG.md index f3c392a..12df41f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -138,7 +138,7 @@ - `api/config.py` — `@lru_cache`, `api/db.py` — контекстный менеджер + request_id - `brain/client.py` — обработка ошибок (различает 429, 5xx, Timeout), DEFAULT_MODEL - `obd/protocol.py` — `reset_input_buffer()`, не затирать ERROR -- CI/CD в документацию (никаких GitHub Actions — всё вручную) +- CI/CD: GitHub Actions для Android APK (сборка + деплой на сервер) - Правило №1 в `.instructions.md`: вопрос → только ответ, никаких действий #### v0.35.0-dev (29-30 мая 2026) @@ -217,14 +217,14 @@ scp app/build/outputs/apk/debug/app-debug.apk obdai.ru:/opt/elmer/web/static/app **Сервер:** gunicorn `-w 4 -b 127.0.0.1:8000 web.app:app`, nginx :443 → :8000, SSL certbot. **Ветка:** `master` — продакшен. -**НИКАКИХ** GitHub Actions, CI/CD сервисов, Docker, Kubernetes. +**Никаких** Docker, Kubernetes. Сервер на голом железе. Android APK: GitHub Actions → сборка → авто-деплой на сервер. --- ## 6. Правила работы (критически важно!) 1. **Вопрос в любой форме → только ответить. НИЧЕГО НЕ ПРЕДПРИНИМАТЬ.** Только прямые императивы («сделай», «исправь», «напиши») — команда к действию. -2. **Не выдумывать инфраструктуру.** Никаких GitHub Actions, Docker, K8s, CI/CD. +2. **Не выдумывать инфраструктуру.** Никаких Docker, K8s. GitHub Actions можно (Android). 3. **Читать документацию перед действиями.** `doc/architecture.md` — канонический источник. 4. **Не редактировать отчёты Опуса** (`doc/opus-review*.md` — только для чтения). 5. **После правок:** коммит → пуш → (если сервер) деплой через SSH.