From 2195fe2c2b772bbfb768efc470cdfb0a31a571c3 Mon Sep 17 00:00:00 2001 From: lafay <2021211506@stu.hit.edu.cn> Date: Tue, 16 Jun 2026 11:44:05 +0800 Subject: [PATCH] perf(ci): incrementally tighten resource constraints across CI jobs Further reduce worker counts, JVM heap, Node memory, and CMake parallelism to lower CI costs. These incremental adjustments complement recent optimizations. --- .gitea/workflows/build.yml | 14 +++++++------- plugins/withCmakeJobLimit.js | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 0e878df..a1444cf 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -99,11 +99,11 @@ jobs: container: image: reactnativecommunity/react-native-android:latest env: - GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.workers.max=2 -Xmx4g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=256m" - _JAVA_OPTIONS: "-Xmx4g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=256m" - NODE_OPTIONS: "--max-old-space-size=4096" + GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dorg.gradle.workers.max=1 -Dorg.gradle.jvmargs=-Xmx3g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:ReservedCodeCacheSize=256m" + _JAVA_OPTIONS: "-Xmx2g -XX:MaxMetaspaceSize=384m -XX:+UseG1GC -XX:ReservedCodeCacheSize=128m" + NODE_OPTIONS: "--max-old-space-size=2048" NODE_ENV: "production" - CMAKE_BUILD_PARALLEL_LEVEL: "4" + CMAKE_BUILD_PARALLEL_LEVEL: "3" GRADLE_USER_HOME: /root/.gradle permissions: contents: read @@ -233,8 +233,8 @@ jobs: org.gradle.daemon=false org.gradle.parallel=false org.gradle.configureondemand=false - org.gradle.workers.max=2 - org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=0 -XX:ReservedCodeCacheSize=256m -XX:+HeapDumpOnOutOfMemoryError + org.gradle.workers.max=1 + org.gradle.jvmargs=-Xmx3g -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:ReservedCodeCacheSize=256m -XX:+HeapDumpOnOutOfMemoryError android.enableJetifier=false android.useAndroidX=true hermesEnabled=true @@ -266,7 +266,7 @@ jobs: run: | cd android chmod +x gradlew - ./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --max-workers=2 + ./gradlew :app:assembleRelease -PreactNativeArchitectures=arm64-v8a --max-workers=1 - name: Upload APK artifact uses: actions/upload-artifact@v3 diff --git a/plugins/withCmakeJobLimit.js b/plugins/withCmakeJobLimit.js index f1468f8..7c64afd 100644 --- a/plugins/withCmakeJobLimit.js +++ b/plugins/withCmakeJobLimit.js @@ -2,7 +2,7 @@ const { withDangerousMod } = require('@expo/config-plugins'); const fs = require('fs'); const path = require('path'); -const MAX_JOBS = '4'; +const MAX_JOBS = '3'; // React Native's hermes-engine build hardcodes // Runtime.getRuntime().availableProcessors()