You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@grails.apache.org by GitBox <gi...@apache.org> on 2026/10/01 08:35:18 UTC
[GH] (grails-core/8.0.x): Workflow run "Code Style" is working again!
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 <jd...@jdresources.net>
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