fix(release): run React Native codegen before the APK build
The app's CMake configure reads JNI sources generated by library codegen (react-native-edge-to-edge), but the RN Gradle plugin does not declare that dependency. With a warm Gradle cache configureCMake started before codegen and v0.1.12 failed. Run generateCodegenArtifactsFromSchema in a separate Gradle call first; both calls share one daemon. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0d9418df48
commit
b8cfd64208
1 file changed
+8
-1
@@ -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()
|
||||
|
||||
Reference in new issue
Block a user