Skip to content

Commit 43d560f

Browse files
committed
[docs] Define bounded Android integration resources
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
1 parent 4e873da commit 43d560f

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

‎docs/specifications/App/TDD.md‎

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# PyBLE App — Technical Design Document (TDD)
22

3-
Status: **DRAFT** · Owner: project maintainer · Last updated: 2026-07-29
3+
Status: **DRAFT** · Owner: project maintainer · Last updated: 2026-07-30
44

55
## 0. Naming note (acronym clash)
66

@@ -1413,12 +1413,25 @@ The locale parity check fails on any missing/orphaned ARB key and blocks merges
14131413
(FR-I18N-2, BLD-5). The real
14141414
`integration_test/android_smoke_test.dart` platform boundary registers the
14151415
About and Blockly scenarios from non-entrypoint suite modules, so Flutter
1416-
performs exactly one Android application build and install. It runs in CI on a
1417-
fresh Android 14 / API 34 Google APIs x86_64 AVD with the pinned Flutter
1418-
toolchain and NDK, 3 GiB RAM, KVM CPU acceleration, a software GPU, a bounded
1419-
`sys.boot_completed` wait, and always-uploaded bounded emulator/logcat
1420-
diagnostics. The runner reclaims only unused side-by-side NDK revisions before
1421-
creating the API 34 emulator's required 6 GiB userdata image.
1416+
has one integration application entrypoint and installs one bundle containing
1417+
both scenarios. It runs in CI on a fresh Android 14 / API 34 Google APIs x86_64
1418+
AVD with the pinned Flutter
1419+
toolchain and NDK, 2 GiB RAM, one virtual CPU, KVM acceleration, a software
1420+
GPU, a bounded `sys.boot_completed` wait, and always-uploaded bounded
1421+
emulator/logcat diagnostics. The runner reclaims only unused side-by-side NDK
1422+
revisions before creating the API 34 emulator's required 6 GiB userdata image.
1423+
1424+
The checked-in Android Gradle configuration bounds the build JVM to a 3 GiB
1425+
heap, 1 GiB metaspace, and 256 MiB code cache. The hosted integration job
1426+
additionally disables the persistent Gradle daemon and permits one Gradle
1427+
worker. It prebuilds the sole integration entrypoint before starting the AVD,
1428+
then stops the build daemon; the device-backed `flutter test` reuses that
1429+
artifact cache for its build/install boundary. Prebuild and device test are
1430+
separately time-bounded and write directly to retained diagnostic logs, so a
1431+
failed timeout cannot be hidden behind a still-open shell pipeline. This keeps
1432+
the compiler and emulator peak allocations sequential on the smallest
1433+
supported hosted runner while preserving the single-entrypoint integration
1434+
contract.
14221435

14231436
The Blockly suite verifies the offline asset, JavaScript channel,
14241437
restore/recreation, source generation, examples, sidecar reopen, bounded Python

0 commit comments

Comments
 (0)