Reviewed Forge build budgets

- Divided nested build workers across sandbox matrix lanes
- Reserved eight workers and 16 GiB for Forge verification
This commit is contained in:
Brian Neumann-Fopiano committed 2026-10-21 07:11:10 -04:00
commit 79f5d02a7d
2 files changed
+12 -6

No files matched your search

+8 -3
View File
@@ -333,11 +333,16 @@ Provider<IrisModdedBuildService> matrixWorkers = gradle.sharedServices.registerI
maxParallelUsages.set(matrixParallelism)
}
List<String> nestedBuildArguments = [gradle.startParameter.buildCacheEnabled ? '--build-cache' : '--no-build-cache']
if (providers.gradleProperty('multiplexorSandbox').getOrElse('false').toBoolean()) {
boolean multiplexorSandbox = providers.gradleProperty('multiplexorSandbox').getOrElse('false').toBoolean()
int nestedWorkers = multiplexorSandbox
? Math.max(1, gradle.startParameter.maxWorkerCount.intdiv(matrixParallelism))
: Math.min(2, gradle.startParameter.maxWorkerCount)
int nestedProcessors = multiplexorSandbox ? nestedWorkers : 2
if (multiplexorSandbox) {
nestedBuildArguments.addAll(['--no-daemon', '-PmultiplexorSandbox=true'])
}
String nestedJvmArguments = providers.gradleProperty('org.gradle.jvmargs').getOrElse('') +
' -XX:ActiveProcessorCount=2'
" -XX:ActiveProcessorCount=${nestedProcessors}"
if (gradle.startParameter.rerunTasks) {
nestedBuildArguments.add('--rerun-tasks')
}
@@ -373,7 +378,7 @@ irisModTargets.each { String targetMinecraft, Map<String, Object> target ->
javaRuntime.set((int) target.java)
List<String> command = [rootProject.file(moddedWrapperScript).absolutePath, 'assemble', 'compileTestJava',
'verifyLoggingPolicy', 'verifyNativeClassBoundary', '--console=plain',
"--max-workers=${Math.min(2, gradle.startParameter.maxWorkerCount)}",
"--max-workers=${nestedWorkers}",
"-Dorg.gradle.jvmargs=${nestedJvmArguments.trim()}",
"-Dorg.gradle.daemon.registry.base=${rootProject.file(".gradle/iris-daemons/slot-${daemonSlot}").absolutePath}",
'-Dorg.gradle.daemon.idletimeout=3600000',
+4 -3
View File
@@ -56,14 +56,15 @@ gradle.projectsEvaluated {
: target[loaderPins[loader]].toString()
String displayedPin = pin.startsWith(minecraft + '-') ? pin.substring(minecraft.length() + 1) : pin
String artifactName = "Iris v${project.version} [${label}] ${minecraft}+${displayedPin}.jar"
boolean forge = loader == 'forge'
buildTargets.add([
id: "${loader}-${minecraft}".toString(),
tasks: [":verify${label}${minecraft.replace('.', '_')}".toString()],
arguments: ['-PmoddedBuildParallelism=1', '-PmoddedTestForks=1',
arguments: ['-PmoddedBuildParallelism=1', "-PmoddedTestForks=${forge ? 2 : 1}".toString(),
'-PmultiplexorSandbox=true'],
java: 25,
memoryMiB: 8192,
workers: 2,
memoryMiB: forge ? 16384 : 8192,
workers: forge ? 8 : 2,
dependsOn: [],
artifacts: [[path: "adapters/${loader}/build/${minecraft}/libs/${artifactName}".toString(),
role: 'runtime', platforms: [loader], minecraftVersions: [minecraft]]]