From: David Galloway Date: Tue, 7 Jul 2026 13:41:17 +0000 (-0400) Subject: jenkins: enable Declarative script splitting to avoid 64KB method limit X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d4a1c93308b21214d115d258c6f14fb95c8cc095;p=ceph-build.git jenkins: enable Declarative script splitting to avoid 64KB method limit The ceph-dev-pipeline matrix fails to compile with 'Method too large: WorkflowScript.___cps___NNN' when new cells are added (e.g. noble debug builds, #2622), because the Declarative RuntimeASTTransformer emits the entire pipeline model as a single method. Extracting stage bodies into helper functions (#2621) does not help since the per-cell model boilerplate dominates. Enable the script splitting transformation (JENKINS-37984), which splits the generated model into multiple methods so no single one hits the JVM's 64KB bytecode limit. Signed-off-by: David Galloway --- diff --git a/ansible/roles/ansible-jenkins/templates/etc_default.j2 b/ansible/roles/ansible-jenkins/templates/etc_default.j2 index b0302e9a8..852f10b23 100644 --- a/ansible/roles/ansible-jenkins/templates/etc_default.j2 +++ b/ansible/roles/ansible-jenkins/templates/etc_default.j2 @@ -7,7 +7,7 @@ NAME=jenkins JAVA=/usr/bin/java # From https://jenkins.io/blog/2016/11/21/gc-tuning/ -JAVA_ARGS="-Xmx20g -Xms20g -Djava.awt.headless=true -Dhudson.model.User.SECURITY_243_FULL_DEFENSE=false -Dhudson.model.ParametersAction.keepUndefinedParameters=true -server -XX:+AlwaysPreTouch -Xloggc:/var/log/jenkins/gc-%t.log -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1" +JAVA_ARGS="-Xmx20g -Xms20g -Djava.awt.headless=true -Dhudson.model.User.SECURITY_243_FULL_DEFENSE=false -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.pipeline.modeldefinition.parser.RuntimeASTTransformer.SCRIPT_SPLITTING_TRANSFORMATION=true -server -XX:+AlwaysPreTouch -Xloggc:/var/log/jenkins/gc-%t.log -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1" PIDFILE=/var/run/$NAME/$NAME.pid