From d047dea21025fa511acf1c1a992815d36f6f1d0e Mon Sep 17 00:00:00 2001 From: b-dev-mobile Date: Thu, 9 Jul 2026 03:20:32 +0000 Subject: [PATCH] =?UTF-8?q?docs/CI:=20=D1=80=D0=B0=D0=BD=D0=BD=D0=B5=D1=80?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7=D0=B2=D1=91=D1=80=D0=BD=D1=83=D1=82=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B8=D0=BD=D1=84=D1=80=D0=B5=20B=20(repo-scope?= =?UTF-8?q?,=20host-=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit act_runner v0.2.11 + Node 20 + Docker + systemd, метки self-hosted/f7-android на хосте, тёплый кэш /root/.gradle. Зарегистрирован в scope репозитория (repo-токен; site-admin токен подхватывал чужую ячейку glb_adm — не годится). --- docs/CI.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/docs/CI.md b/docs/CI.md index 17323dd..5f80429 100644 --- a/docs/CI.md +++ b/docs/CI.md @@ -17,13 +17,20 @@ Gradle-кэшем, а не контейнер (иначе WebRTC качаетс как у билд-машины: **JDK 21** (`/usr/lib/jvm/java-21-openjdk-amd64`) + **Android SDK 36** (`/opt/android-sdk`, platform android-36, build-tools 36.0.0). -Регистрация (нужен registration-токен из Gitea → Settings → Actions → Runners, **права Gitea-админа**): +Регистрация — **repo-токен** из Gitea → репозиторий `root/f7cloud_mobile` → Settings → Actions → +Runners → Create new Runner (НЕ site-admin токен — тот регистрирует раннер общеинстансно и он +подхватывает джобы чужих ячеек; проверено — брал `glb_adm/f7_talk`). Метки `self-hosted`+`f7-android` +соответствуют `runs-on: [self-hosted, f7-android]`. + +**Развёрнуто на инфре B (2026-07-09):** `act_runner` v0.2.11 + Node 20 (`/opt/nodejs`) + Docker +(`docker.io`, нужен act_runner для старта, но джобы идут на **хосте** — метки `:host`, тёплый кэш +`/root/.gradle`). Конфиг `/opt/act_runner/config.yaml` (labels `self-hosted:host`,`f7-android:host`, +`container.docker_host: "-"`). systemd-сервис `act_runner.service` (enabled, Restart=always, +env JAVA_HOME/ANDROID_HOME/PATH+node). Регистрация — repo-scope (только f7cloud_mobile). ```bash -# на машине раннера (инфра B): -act_runner register --instance https://git.f7cloud.ru --token --labels f7-android -act_runner daemon +systemctl status act_runner # состояние +journalctl -u act_runner -f # логи ``` -Метка `f7-android` соответствует `runs-on: [self-hosted, f7-android]` в workflow. ## Secrets репозитория (Gitea → Settings → Actions → Secrets) @@ -43,5 +50,7 @@ scripts/package-source.sh dist/ # → dist/f7cloud-mobile-v--sourc ## Статус -Workflow и скрипт готовы и в репо. **Не активны, пока не зарегистрирован раннер** (инфра-шаг ячейки B, -нужен Gitea-админ для токена). До активации: сборки — вручную на билд-машине, исходники — скриптом. +**Активно (2026-07-09):** self-hosted раннер `f7-b-android` зарегистрирован и запущен на инфре B +(scope — репозиторий, host-исполнение). Workflow срабатывает на push/PR (lint+тесты+assembleDebug). +Осталось для джобы `release` по тегу: завести Secrets репозитория (keystore base64 + пароли) — +пока release-сборки делаются вручную на билд-машине тем же ключом.