diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index aead00c..2287978 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -64,11 +64,20 @@ jobs: with: { node-version: "${{ env.NODE_VERSION }}", cache: pnpm } - run: pnpm install --frozen-lockfile + - name: Свободное место + run: df -h / /tmp + - name: Сборка APK working-directory: apps/mobile + # Только arm64-v8a: C++-часть React Native собирается под каждую ABI, и четыре ABI + # вместе с NDK (~2.5 ГБ) не помещаются на диск раннера. arm64 — все устройства с 2017+. run: | npx expo prebuild --platform android --clean --no-install - cd android && ./gradlew --no-daemon assembleRelease + cd android && ./gradlew --no-daemon assembleRelease -PreactNativeArchitectures=arm64-v8a + + - name: Свободное место после сбоя + if: failure() + run: df -h / /tmp; du -sh ~/.gradle ~/.android apps/mobile/android 2>/dev/null || true - name: Подпись APK env: diff --git a/docs/ci-cd.md b/docs/ci-cd.md index 48652c3..8b4ec27 100644 --- a/docs/ci-cd.md +++ b/docs/ci-cd.md @@ -3,6 +3,10 @@ Workflows лежат в `.gitea/workflows/`. Синтаксис совместим с GitHub Actions; runner — существующий `act_runner` с доступом к Docker. +Сборке APK нужно ~15 ГБ свободного места на хосте раннера (Android SDK, NDK ~2.5 ГБ, кэш Gradle, +C++-сборка React Native). APK собирается только под `arm64-v8a`. Если job падает с `No space left on device`, +освободите место на хосте раннера: `docker system prune -af` и старые кэши act в `~/.cache/act`. + ## Версионирование - SemVer, тег `vMAJOR.MINOR.PATCH` (предрелизы: `v1.2.0-rc.1` — помечаются как pre-release, мобильное их