android-test: gate order stable-self then published; FAIL_FAST default
Matrix runs release self-build before F-Droid APK, then master. First failure stops. Emulator cold-boots without snapshots by default.
This commit is contained in:
parent
b0e186f392
commit
a05307f620
3 changed files with 22 additions and 12 deletions
|
|
@ -36,15 +36,19 @@ Runs several smokes so a single odd developer build cannot be the only sample:
|
|||
|
||||
| Variant | What |
|
||||
|---------|------|
|
||||
| **published** | F-Droid stable APK (`net.taler.wallet.fdroid` 1.6.1 / 854) |
|
||||
| **stable-self** | Rebuild tag `wallet-1.6.1` on this host (same source as stable) |
|
||||
| **master** | Rebuild `origin/master` |
|
||||
| Order | Variant | What |
|
||||
|------|---------|------|
|
||||
| **1 (gate)** | **stable-self** | Rebuild tag `wallet-1.6.1` on this host |
|
||||
| **2 (gate)** | **published** | F-Droid stable APK (`net.taler.wallet.fdroid` 1.6.1 / 854) |
|
||||
| **3** | **master** | Rebuild `origin/master` (only if gates pass when `FAIL_FAST=1`) |
|
||||
|
||||
**Default:** `FAIL_FAST=1` — first non-zero gate stops the matrix (no master if stable fails).
|
||||
|
||||
```bash
|
||||
./run-android-variant-matrix.sh
|
||||
STACK=goa ./run-android-variant-matrix.sh
|
||||
VARIANTS=master,stable-self ./run-android-variant-matrix.sh
|
||||
VARIANTS=published,stable-self,master,fix GUI=0 ./run-android-variant-matrix.sh
|
||||
# only the hard gates:
|
||||
VARIANTS=stable-self,published FAIL_FAST=1 ./run-android-variant-matrix.sh
|
||||
```
|
||||
|
||||
Artifacts + `SUMMARY.txt` under `out-matrix-<timestamp>/`.
|
||||
|
|
|
|||
|
|
@ -68,8 +68,9 @@ export EMULATOR_GPU
|
|||
: "${EMULATOR_CORES:=2}"
|
||||
# If no adb device: start headless AVD (0 = require phone/manual emulator)
|
||||
: "${AUTO_START_EMULATOR:=1}"
|
||||
: "${EMULATOR_BOOT_TIMEOUT:=180}"
|
||||
: "${EMULATOR_BOOT_TIMEOUT:=360}"
|
||||
: "${EMULATOR_LOG:=/tmp/taler-android-emulator.log}"
|
||||
: "${EMULATOR_NO_SNAPSHOT:=1}"
|
||||
|
||||
android_adb_serial() {
|
||||
adb devices 2>/dev/null | awk '/\tdevice$/{print $1; exit}'
|
||||
|
|
@ -89,6 +90,10 @@ android_emulator_args() {
|
|||
# Avoid Qt trying to open a display on servers
|
||||
export QT_QPA_PLATFORM="${QT_QPA_PLATFORM:-offscreen}"
|
||||
fi
|
||||
# Broken default_boot snapshots leave adb offline forever — cold boot by default.
|
||||
if [ "${EMULATOR_NO_SNAPSHOT:-1}" = "1" ]; then
|
||||
args+=( -no-snapshot -no-snapshot-load -no-snapshot-save )
|
||||
fi
|
||||
if [ -n "${EMULATOR_MEMORY:-}" ]; then
|
||||
args+=( -memory "$EMULATOR_MEMORY" )
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
# Run Android wallet smoke against **several build variants** so a single
|
||||
# "weird" developer tree or a bad local build cannot be the only sample.
|
||||
#
|
||||
# Default matrix:
|
||||
# 1) **published** — F-Droid stable APK (bit-for-bit what users install)
|
||||
# 2) **stable-self** — rebuild the same release **tag** as published (self-build)
|
||||
# 3) **master** — rebuild origin/master (tip / CI-style)
|
||||
# Default matrix (gate order — fail → hard stop when FAIL_FAST=1):
|
||||
# 1) **stable-self** — rebuild release **tag** (same source as published)
|
||||
# 2) **published** — F-Droid stable APK (what users install)
|
||||
# 3) **master** — rebuild origin/master (only if 1–2 pass with FAIL_FAST)
|
||||
#
|
||||
# Why stable-self in addition to published?
|
||||
# Rare, but a published APK *or* a one-off developer build can be odd
|
||||
|
|
@ -40,8 +40,9 @@ ROOT=$(cd "$(dirname "$0")" && pwd)
|
|||
: "${STABLE_APK_NAME:=net.taler.wallet.fdroid_854.apk}"
|
||||
: "${MASTER_BRANCH:=master}"
|
||||
: "${FIX_BRANCH:=dev/hernani-inference/fix-bank-withdraw-auto-exchange}"
|
||||
: "${VARIANTS:=published,stable-self,master}"
|
||||
: "${FAIL_FAST:=0}"
|
||||
# Gate: stable self-build → published F-Droid; then master. FAIL_FAST default on.
|
||||
: "${VARIANTS:=stable-self,published,master}"
|
||||
: "${FAIL_FAST:=1}"
|
||||
: "${GUI:=0}"
|
||||
: "${STACK:=auto}"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue