diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 5cca043..adb2725 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -101,10 +101,17 @@ jobs: # Память: на раннере 8 ГБ, и без ограничений Gradle + демон Kotlin + Metro вызывают OOM killer. # Kotlin компилируется внутри JVM Gradle (без второго демона, поэтому heap 2.5 ГБ вместо 2), задач — не больше 2. # -x lintVitalRelease: lint-проверки для Google Play, а APK публикуется только в Gitea (−1 мин). + # Codegen отдельным вызовом до сборки: CMake приложения читает JNI-код, который генерирует codegen + # библиотек, но плагин RN не объявляет эту зависимость, и с прогретым кэшем CMake успевал раньше codegen. + # Оба вызова идут через один демон Gradle (одинаковые jvmargs), поэтому второй не платит за старт JVM. run: | npx expo prebuild --platform android --clean --no-install cd android - ./gradlew --no-daemon --max-workers=2 assembleRelease -PreactNativeArchitectures=arm64-v8a -Pkotlin.compiler.execution.strategy=in-process -Dorg.gradle.jvmargs="-Xmx2560m -XX:MaxMetaspaceSize=512m" --build-cache -x lintVitalRelease + gradle=(./gradlew --max-workers=2 --build-cache -PreactNativeArchitectures=arm64-v8a + -Pkotlin.compiler.execution.strategy=in-process -Dorg.gradle.jvmargs="-Xmx2560m -XX:MaxMetaspaceSize=512m") + "${gradle[@]}" generateCodegenArtifactsFromSchema + "${gradle[@]}" assembleRelease -x lintVitalRelease + ./gradlew --stop - name: Диагностика сбоя (диск, память, OOM) if: failure()