monitoring: use inference fix branch by default; harden GUI chain ANR wait
Default BUILD branch fix-bank-withdraw-auto-exchange; dismiss System UI ANR before confirm taps so low-RAM emulators fail less uselessly.
This commit is contained in:
parent
2dfd40558a
commit
92695c0ee3
6 changed files with 55 additions and 12 deletions
|
|
@ -130,15 +130,30 @@ Open issues mirrored from upstream `ISSUES.md` (gui-workflows):
|
|||
- **I-and-gui-004** — emulator RAM cost (this host ~3.7 GiB)
|
||||
- **I-and-gui-007** — for reliable withdraw GUI, build/install app from **fix/bank-withdraw-auto-exchange** or **fix/withdraw-spinner-fallback**, not plain master alone
|
||||
|
||||
Recommended demo stack:
|
||||
### Ground rule (ops)
|
||||
|
||||
1. **Bring it to run** first (scripts + live stack).
|
||||
2. **App code changes only if needed**, and **minimal**.
|
||||
3. Prefer **existing** `dev/hernani-inference/*` branches over new ones; extend them rather than forking random trees.
|
||||
|
||||
### Recommended demo stack (2026-07)
|
||||
|
||||
```text
|
||||
1) Checkout taler-android: fix/withdraw-spinner-fallback (or merge fixes)
|
||||
2) ./gradlew :wallet:installFdroidDebug
|
||||
3) Boot emulator / phone
|
||||
1) taler-android checkout:
|
||||
dev/hernani-inference/fix-bank-withdraw-auto-exchange
|
||||
(or fix/withdraw-spinner-fallback for spinner + OIM)
|
||||
2) ./gradlew :wallet:assembleFdroidDebug # package net.taler.wallet.fdroid.debug
|
||||
3) Boot emulator / phone (prefer ≥6–8 GiB host RAM; 4 GiB → System UI ANR)
|
||||
4) android-test/run-goa-gui-chain.sh # STACK=goa|stage
|
||||
```
|
||||
|
||||
`run-android-build-and-smoke.sh` defaults `BRANCH=dev/hernani-inference/fix-bank-withdraw-auto-exchange`
|
||||
so source smokes pick up the GOA exchange auto-add fix without manual checkout.
|
||||
|
||||
### Runtime note (clementine)
|
||||
|
||||
On ~3.7 GiB hosts the emulator often shows **System UI isn’t responding** before Confirm is tappable. Chain script now prioritizes **Wait** over hunting Confirm. For a green end-to-end GUI path use a physical device or more RAM — the **mint + deep-link + fix-branch APK** path is otherwise ready.
|
||||
|
||||
```bash
|
||||
# GOA chain (explorer mint + GUI taps)
|
||||
EXP_PW_FILE=$HOME/src/koopa/koopa-admin-secrets/koopa/host-root/taler-bank/bank-explorer-password.txt \
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
taler://pay/taler.hacktivism.ch/instances/goa-shop/2026.198-93H450R000000/?c=1G3C43V1H89J8CQQ42TGDGVGMM
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
taler://withdraw/bank.hacktivism.ch/taler-integration/39ba4ffc-f0e6-4e12-9e5b-d11fb8a2bcdd
|
||||
|
|
@ -19,6 +19,9 @@ ROOT=$(cd "$(dirname "$0")" && pwd)
|
|||
SMOKE="$ROOT/run-android-pay-smoke.sh"
|
||||
SRC="${TALER_ANDROID_SRC:-$HOME/taler/taler-android}"
|
||||
SKIP_PULL="${SKIP_PULL:-0}"
|
||||
# Prefer existing inference fix branch for GOA withdraw (spinner/exchange resolve).
|
||||
# Override: BRANCH=master or BRANCH=dev/hernani-inference/fix-withdraw-spinner-fallback
|
||||
BRANCH="${BRANCH:-dev/hernani-inference/fix-bank-withdraw-auto-exchange}"
|
||||
VARIANT="${VARIANT:-fdroidDebug}" # assemble task suffix: FdroidDebug / NightlyDebug / …
|
||||
export ANDROID_HOME="${ANDROID_HOME:-$HOME/Android/Sdk}"
|
||||
export ANDROID_SDK_ROOT="${ANDROID_SDK_ROOT:-$ANDROID_HOME}"
|
||||
|
|
@ -35,13 +38,19 @@ fi
|
|||
printf 'sdk.dir=%s\n' "$ANDROID_HOME" >"$SRC/local.properties"
|
||||
|
||||
cd "$SRC"
|
||||
if [ "$SKIP_PULL" != "1" ] && [ -d .git ]; then
|
||||
echo "git pull --ff-only origin $(git rev-parse --abbrev-ref HEAD)"
|
||||
git pull --ff-only origin "$(git rev-parse --abbrev-ref HEAD)" || \
|
||||
git fetch origin && git merge --ff-only "origin/$(git rev-parse --abbrev-ref HEAD)" || true
|
||||
if [ -d .git ]; then
|
||||
git fetch origin 2>/dev/null || true
|
||||
if [ -n "$BRANCH" ] && git rev-parse --verify "origin/$BRANCH" >/dev/null 2>&1; then
|
||||
echo "checkout origin/$BRANCH (minimal GOA/automation fixes; override BRANCH=)"
|
||||
git checkout -B "$BRANCH" "origin/$BRANCH" 2>/dev/null || git checkout "$BRANCH" 2>/dev/null || true
|
||||
fi
|
||||
if [ "$SKIP_PULL" != "1" ]; then
|
||||
br=$(git rev-parse --abbrev-ref HEAD)
|
||||
git pull --ff-only origin "$br" 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
COMMIT=$(git rev-parse --short=12 HEAD 2>/dev/null || echo unknown)
|
||||
echo "source: $SRC @ $COMMIT"
|
||||
echo "source: $SRC @ $COMMIT (branch $(git rev-parse --abbrev-ref HEAD 2>/dev/null || ?))"
|
||||
echo "variant: assemble${VARIANT^}" 2>/dev/null || true
|
||||
|
||||
# Map VARIANT → gradle task (fdroidDebug → assembleFdroidDebug)
|
||||
|
|
|
|||
|
|
@ -249,14 +249,30 @@ PY
|
|||
|
||||
click_through() {
|
||||
local labels=("$@")
|
||||
local i lab
|
||||
for i in 1 2 3 4 5 6 7 8; do
|
||||
local i lab misses=0
|
||||
# Prefer dismissing ANR before hunting Confirm (low-RAM hosts thrash System UI)
|
||||
for i in 1 2 3 4 5 6; do
|
||||
if tap_text "Wait" 2>/dev/null || tap_text "Warten" 2>/dev/null; then
|
||||
info "dismissed ANR (Wait)"
|
||||
pause 2.0
|
||||
misses=0
|
||||
continue
|
||||
fi
|
||||
local hit=0
|
||||
for lab in "${labels[@]}"; do
|
||||
if tap_text "$lab" 2>/dev/null; then
|
||||
hit=1
|
||||
misses=0
|
||||
pause 0.9
|
||||
break
|
||||
fi
|
||||
done
|
||||
pause 0.4
|
||||
if [[ "$hit" -eq 0 ]]; then
|
||||
misses=$((misses + 1))
|
||||
# stop early if hierarchy has nothing useful (avoid burning order deadlines)
|
||||
[[ "$misses" -ge 3 ]] && break
|
||||
fi
|
||||
pause 0.5
|
||||
done
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue