ci(release): cap the Android build so it cannot freeze the runner host
The APK job container now runs with --cpus=3 --memory=6g and no swap; CMake / ninja for the React Native native code are limited to 2 jobs (they used every core), and Gradle runs under nice / ionice. Notes for hypervisor-hosted runners (Proxmox) are in docs/ci-cd.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4cca427b82
commit
4fb4e124a0
2 files changed
+13
-1
No files matched your search
@@ -103,6 +103,11 @@ container:
|
||||
- /opt/ci-cache/** # постоянные кэши Gradle и Android SDK для job android в release.yml
|
||||
```
|
||||
|
||||
Сборка APK ограничена сама (`release.yml`: контейнер `--cpus=3 --memory=6g` без свопа, CMake / ninja / Gradle
|
||||
по 2 потока, `nice` / `ionice`). Если раннер — VM в гипервизоре (Proxmox), дополнительно ограничьте её там:
|
||||
фиксированная RAM без ballooning, сумма RAM всех VM меньше RAM хоста, `cpulimit` ≤ половины ядер хоста,
|
||||
лимит дискового I/O — иначе тяжёлая сборка может подвесить весь хост.
|
||||
|
||||
Без `valid_volumes` раннер пропускает тома из `release.yml`, и каждый релиз заново качает Gradle
|
||||
и NDK (~4 мин). Признак выключенного кэша actions в логах — `Cache action is only supported on GHES…`.
|
||||
|
||||
|
||||
Reference in new issue
Block a user