diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 74177b5..0ec62c8 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -97,6 +97,10 @@ jobs: runs-on: ubuntu-latest container: image: reactnativecommunity/react-native-android:latest + env: + GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.workers.max=1 -Xmx4g -XX:MaxMetaspaceSize=1g" + _JAVA_OPTIONS: "-Xmx4g -XX:MaxMetaspaceSize=1g -XX:+UseG1GC" + NODE_ENV: "production" permissions: contents: read steps: @@ -121,11 +125,30 @@ jobs: - name: Generate Android native project run: npx expo prebuild --platform android --non-interactive + - name: Configure Gradle + run: | + cd android + cat > gradle.properties << EOF + org.gradle.daemon=false + org.gradle.parallel=false + org.gradle.configureondemand=false + org.gradle.workers.max=1 + org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError + android.enableJetifier=false + android.useAndroidX=true + hermesEnabled=true + reactNativeArchitectures=arm64-v8a + EOF + + # Fix hermesEnabled in build.gradle + sed -i 's/def hermesEnabled = findProperty("hermesEnabled")/def hermesEnabled = findProperty("hermesEnabled") ?: "true"/' app/build.gradle || true + grep -n "hermesEnabled" app/build.gradle || echo "hermesEnabled not found in build.gradle" + - name: Build Android release APK (arm64 only) run: | cd android chmod +x gradlew - ./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --no-daemon + ./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --max-workers=1 - name: Upload APK artifact uses: actions/upload-artifact@v3