Files
amethyst/.github
Claude ea459bc51e ci: cut only the Kotlin daemon heap, not Gradle's
Correcting cdb4f1f7, which capped both to 4g and traded one OOM for
another.

The diagnosis was right: test-and-build-android was dying of memory.
gradle.properties asks for -Xmx6g (Gradle) plus -Xmx8g and 2g metaspace
(Kotlin daemon), roughly 16GB of ceiling on a 16GB runner, and that job is
the only one heavy enough to reach it. Capping both did stop the runner
deaths — the job ran 61 minutes and reached R8 and lint, where it used to
die at 11 to 14 minutes during compile.

But it then failed with java.lang.OutOfMemoryError: Java heap space in
minifyPlayBenchmarkWithR8 and lintAnalyzePlayBenchmark. Both draw on the
Gradle daemon's heap, and 4g is not enough for them on this app. 6g always
was — they never OOMed in the five earlier runs; the system did.

So the cut belongs entirely on the Kotlin daemon: 8g + 2g metaspace down
to 4g + 1g, Gradle left at its 6g default. Total ceiling ~11GB instead of
~16GB, which leaves the runner headroom without starving R8.

Confirmation signals stay falsifiable: if the runner dies early again, the
ceiling is still too high; if R8 or lint OOM again, 6g is not enough
either and the job needs splitting rather than tuning.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AXvKXakvup4inNFfAhhr4L
2026-09-24 17:22:12 +00:00
..
2025-04-12 15:56:51 +01:00