ci(build): optimize Android build performance with parallel execution and increased memory limits
Some checks failed
Frontend CI / ota-android (push) Failing after 7m8s
Frontend CI / build-android-apk (push) Successful in 1h11m44s
Frontend CI / build-and-push-web (push) Successful in 19m12s

Increase Gradle heap size from 2GB to 8GB, enable parallel builds with 4 workers, and update JVM options for faster CI pipeline execution. This reduces build times by utilizing more available resources in the build container.
This commit is contained in:
lafay
2026-03-18 15:46:50 +08:00
parent 2321c2dc06
commit b11e6548d5

View File

@@ -98,12 +98,12 @@ jobs:
container: container:
image: reactnativecommunity/react-native-android:latest image: reactnativecommunity/react-native-android:latest
env: env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.workers.max=1 -Xmx2g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=128m" GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.workers.max=4 -Xmx8g -XX:MaxMetaspaceSize=1g -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=512m"
_JAVA_OPTIONS: "-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=128m" _JAVA_OPTIONS: "-Xmx8g -XX:MaxMetaspaceSize=1g -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=512m"
NODE_OPTIONS: "--max-old-space-size=2048" NODE_OPTIONS: "--max-old-space-size=8192"
NODE_ENV: "production" NODE_ENV: "production"
NDK_NUM_JOBS: "1" NDK_NUM_JOBS: "4"
CMAKE_BUILD_PARALLEL_LEVEL: "1" CMAKE_BUILD_PARALLEL_LEVEL: "4"
permissions: permissions:
contents: read contents: read
steps: steps:
@@ -222,10 +222,10 @@ jobs:
# Update gradle.properties # Update gradle.properties
cat > gradle.properties << 'PROPS_EOF' cat > gradle.properties << 'PROPS_EOF'
org.gradle.daemon=false org.gradle.daemon=false
org.gradle.parallel=false org.gradle.parallel=true
org.gradle.configureondemand=false org.gradle.configureondemand=true
org.gradle.workers.max=1 org.gradle.workers.max=4
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=128m -XX:+HeapDumpOnOutOfMemoryError org.gradle.jvmargs=-Xmx8g -XX:MaxMetaspaceSize=1g -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.enableJetifier=false android.enableJetifier=false
android.useAndroidX=true android.useAndroidX=true
hermesEnabled=true hermesEnabled=true
@@ -242,7 +242,7 @@ jobs:
run: | run: |
cd android cd android
chmod +x gradlew chmod +x gradlew
./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --max-workers=1 ./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --max-workers=4 --parallel
- name: Upload APK artifact - name: Upload APK artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3