Dagger preserves filesystem snapshots between WithExec steps but kills
background processes. After `flutter build apk --debug` completes, the
Gradle daemon registry file remains in /home/ci/.gradle/daemon/ while
the daemon process itself is gone. The subsequent `./gradlew
app:assembleAndroidTest` step finds the stale registry entry, tries to
connect to the dead daemon, and hangs.
Fix by:
- Adding --no-daemon to the assembleAndroidTest gradlew call so it runs
in-process and never consults the daemon registry.
- Mounting the gradle-cache volume (same as Base()) so dependencies are
cached between runs rather than re-downloaded from scratch each time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>