Диагноз: диспетчеризация Gitea работает, но host-исполнение act_runner
роняет шаги (No such file / MODULE_NOT_FOUND, задвоение hostexecutor/.cache).
Workflow → workflow_dispatch (не auto-fail на push), раннер остановлен.
Рабочий путь на будущее — Docker-образ с JDK+SDK + gradle-кэш (docs/CI.md).
Сборки/релизы пока вручную (v0.5.123 опубликован).
- .gitea/workflows/ci.yml: push/PR → testDebugUnitTest+lintRelease+assembleDebug;
тег v* → подписанный assembleRelease + архив исходников в Gitea Release.
Gitea 1.26.1 поддерживает Actions. Self-hosted раннер (метка f7-android),
т.к. проект тяжёлый (WebRTC) и нужен тёплый Gradle-кэш.
- scripts/package-source.sh: GPL corresponding source (§6) — архив всего дерева
вкл. vendor talk-android (GPL), LICENSE, NOTICE. Проверен: 6.7 МБ, 2353 файла.
Закрывает п.4c, работает и вручную до появления раннера.
- docs/CI.md: пайплайн, регистрация раннера, secrets.
НЕ активно до регистрации раннера на инфре B (нужен Gitea-админ для токена).
- defaultConfig.ndk.abiFilters 'arm64-v8a','armeabi-v7a' — без эмуляторных x86/x86_64
- resourceConfigurations += ['ru','en'] — срез ~48 локалей vendor до нужных
- проверено сборкой: assembleRelease 53 МБ, ABI только ARM, подпись v2+v3 OK
- renderscriptSupportModeEnabled в vendor НЕ трогал (риск blur, отдельный пункт)