The GitHub Actions job "Code Style" on grails-core.git/8.0.x has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: 626c81dca39b713f8270bc101acaf92d11632b34 / James Daugherty <[email protected]> Apply the dependency-analysis plugin only to its own tasks and keep it inside the 3G daemon The build-health settings plugin applied itself to every project on every invocation. Measured on 8.0.x, that alone cost a plain build about nine seconds of configuration and 560 MB of daemon heap (help: 803 MB live without the plugin, 1364 MB with it applied and nothing executed), and running buildHealth pushed the 3G daemon into GC thrash at 16 workers. Three changes, each with its measured basis recorded next to it: - Each build declares the plugin with 'apply false' and the shared settings script applies it only when one of the plugin's tasks is requested by full name, checking the root build's request so ':build-logic-root:buildHealth' from the root still covers the included build. A plain build's task graph no longer contains any analysis task. - The plugin's exploded-jar cache is bounded to 200 jars. Unbounded, the live set grew from 1.5 GB to 2.8 GB at four workers and the daemon survived only through 48 full collections; bounded it stops at 2.0 GB with six. - A build service with maxParallelUsages 4 limits how many analyses run in the daemon at once. The plugin's workers are class-loader or no-isolation, so each concurrent analysis holds its exploded classpath in the daemon heap. At 16 workers and 3G this brings a buildHealth run from 30 full collections to 8, with no thrash. Report URL: https://github.com/apache/grails-core/actions/runs/36834481234 With regards, GitHub Actions via GitBox
