ci: fork each Kotlin/Native compile and give the Gradle daemon 8g (#7441)

This commit is contained in:
James Rich authored and GitHub committed 2026-09-29 07:42:36 -05:00
1 parent b7c7486763
commit 888ea3db8c
2 files changed
+10 -6

No files matched your search

+8 -4
View File
@@ -12,13 +12,17 @@
org.gradle.daemon=false
# ── Memory ────────────────────────────────────────────────────────────
# Public-repo hosted Ubuntu x64 runners have 16 GB RAM. Keep Gradle + Kotlin daemon
# within budget (4g Gradle + 6g Kotlin daemon, leaving room for lint and K/N).
# Public-repo hosted Ubuntu x64 runners have 16 GB RAM; each -Xmx is a ceiling, not a reservation.
# Only kotlin.daemon.jvmargs is read from a properties file; kotlin.daemon.jvm.options
# is a system property. Unset, the daemon inherits org.gradle.jvmargs' 4g and OOMs.
org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8
# is a system property. Unset, the daemon inherits org.gradle.jvmargs and OOMs.
org.gradle.jvmargs=-Xmx8g -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8
kotlin.daemon.jvmargs=-Xmx6g -XX:+UseG1GC
# ── Kotlin/Native ─────────────────────────────────────────────────────
# Each K/N compile gets its own JVM with gradle.properties' kotlin.native.jvmArgs heap. In process,
# koin-compiler-plugin 1.2.1 keeps every compile's IR reachable from the Gradle daemon until the build ends.
kotlin.native.disableCompilerDaemon=true
# ── Parallelism ───────────────────────────────────────────────────────
org.gradle.parallel=true
org.gradle.workers.max=4
+2 -2
View File
@@ -15,8 +15,8 @@ kotlin.code.style=official
# property. Unset, the daemon inherits org.gradle.jvmargs' 8g and over-commits CI runners.
kotlin.daemon.jvmargs=-Xmx6g -XX\:+UseG1GC -XX\:SoftRefLRUPolicyMSPerMB=1 -XX\:ReservedCodeCacheSize=320m -XX\:+HeapDumpOnOutOfMemoryError
kotlin.daemon.useFallback=false
# The Kotlin/Native compiler runs in its own JVM, governed by neither of the heaps
# above. Its 3g default OOMs compiling every module for iOS from a cold cache.
# Applies only where kotlin.native.disableCompilerDaemon forks the Kotlin/Native compiler, as CI
# does; otherwise it runs inside the Gradle daemon and shares org.gradle.jvmargs' heap.
kotlin.native.jvmArgs=-Xmx5g -XX\:+UseG1GC -XX\:+HeapDumpOnOutOfMemoryError
# Only macOS can run iosSimulatorArm64Test; this hides KGP's notice about it on Linux and Windows hosts.
kotlin.native.ignoreDisabledTargets=true