Commits
Tarun Sukhani authored fee48de92e8
fix(play): run Gradle without a shared daemon under CI (PF-197) On a CI server every build runs as one user, so builds that overlap share one pool of Gradle daemons, and Jenkins kills every process a build started when that build ends. On the Academy Jenkins host that killed a daemon Academy_Payments #467 had started while Abundent_API #3629 was using it for `play autotest`: "Gradle build daemon disappeared unexpectedly", a second after #467 ended, before any test ran. The play shim now appends --no-daemon to every Gradle run when JENKINS_URL is set, or CI is set to anything but false or 0, `play new` included, unless the arguments already carry it. Each run then gets its own process or a single-use daemon. PLAY_GRADLE_DAEMON=true keeps the daemon under CI, and =false drops it anywhere. `play help` and the manual's continuous-integration section say so, along with the host-wide org.gradle.daemon=false for steps that call ./gradlew directly. PlayShimTest covers both CI signals, a CI=false and an unset run, both overrides, an explicit --no-daemon, and `play new` under CI. Its run helper now clears CI, JENKINS_URL and PLAY_GRADLE_DAEMON, so the suite stays deterministic on a CI server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>