Fixes#155 — the test-android-firebase CI job hangs indefinitely at the ./gradlew app:assembleAndroidTest step.
Root cause: Dagger preserves filesystem snapshots between WithExec steps but does not preserve background processes. After flutter build apk --debug completes, the Gradle daemon is killed (process cleanup), but its registry file remains on disk at /home/ci/.gradle/daemon/. The next WithExec for ./gradlew app:assembleAndroidTest finds the stale registry entry and hangs waiting to connect to a daemon that no longer exists.
Changes:
Add --no-daemon to ./gradlew app:assembleAndroidTest — this makes Gradle run in-process and skip the daemon registry entirely, eliminating the hang
Mount gradle-cache volume on the BuildAndroidDebugApks container (same as Base()) — avoids re-downloading all Gradle dependencies from scratch on every run
## Summary
Fixes #155 — the `test-android-firebase` CI job hangs indefinitely at the `./gradlew app:assembleAndroidTest` step.
**Root cause:** Dagger preserves filesystem snapshots between `WithExec` steps but does not preserve background processes. After `flutter build apk --debug` completes, the Gradle daemon is killed (process cleanup), but its registry file remains on disk at `/home/ci/.gradle/daemon/`. The next `WithExec` for `./gradlew app:assembleAndroidTest` finds the stale registry entry and hangs waiting to connect to a daemon that no longer exists.
**Changes:**
- Add `--no-daemon` to `./gradlew app:assembleAndroidTest` — this makes Gradle run in-process and skip the daemon registry entirely, eliminating the hang
- Mount `gradle-cache` volume on the `BuildAndroidDebugApks` container (same as `Base()`) — avoids re-downloading all Gradle dependencies from scratch on every run
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Fixes #155 — the
test-android-firebaseCI job hangs indefinitely at the./gradlew app:assembleAndroidTeststep.Root cause: Dagger preserves filesystem snapshots between
WithExecsteps but does not preserve background processes. Afterflutter build apk --debugcompletes, the Gradle daemon is killed (process cleanup), but its registry file remains on disk at/home/ci/.gradle/daemon/. The nextWithExecfor./gradlew app:assembleAndroidTestfinds the stale registry entry and hangs waiting to connect to a daemon that no longer exists.Changes:
--no-daemonto./gradlew app:assembleAndroidTest— this makes Gradle run in-process and skip the daemon registry entirely, eliminating the hanggradle-cachevolume on theBuildAndroidDebugApkscontainer (same asBase()) — avoids re-downloading all Gradle dependencies from scratch on every run