android-test: master self-build failures are WARN only too
Only published F-Droid remains a matrix blocker; master tip issues warn and continue without failing overall exit alone.
This commit is contained in:
parent
8a49e51cbd
commit
f9df3e20fa
3 changed files with 17 additions and 15 deletions
|
|
@ -245,9 +245,9 @@ Scripts **today** implement Android only; they should honour:
|
||||||
|
|
||||||
| Variant | Source | Severity | Purpose |
|
| Variant | Source | Severity | Purpose |
|
||||||
|---------|--------|----------|---------|
|
|---------|--------|----------|---------|
|
||||||
| **stable-self** | tag `wallet-1.6.1` rebuilt here | **WARN only** | Same release tree, our Gradle — never hard-blocks the matrix |
|
| **stable-self** | tag `wallet-1.6.1` rebuilt here | **WARN only** | Same release tree, our Gradle — never hard-blocks |
|
||||||
| **published** | F-Droid APK URL | **BLOCKER** | What users install; FAIL_FAST stops here |
|
| **published** | F-Droid APK URL | **BLOCKER** | What users install; FAIL_FAST stops here |
|
||||||
| **master** | `origin/master` | soft fail | Tip of mainline |
|
| **master** | `origin/master` | **WARN only** | Tip of mainline — never hard-blocks |
|
||||||
| **fix** (optional) | inference fix branch | soft fail | GOA automation fixes |
|
| **fix** (optional) | inference fix branch | soft fail | GOA automation fixes |
|
||||||
|
|
||||||
Default matrix order: `stable-self,published,master`.
|
Default matrix order: `stable-self,published,master`.
|
||||||
|
|
|
||||||
|
|
@ -38,12 +38,12 @@ Runs several smokes so a single odd developer build cannot be the only sample:
|
||||||
|---------|------|
|
|---------|------|
|
||||||
| Order | Variant | Severity | What |
|
| Order | Variant | Severity | What |
|
||||||
|------|---------|----------|------|
|
|------|---------|----------|------|
|
||||||
| **1** | **stable-self** | **WARN only** (not a blocker) | Rebuild tag `wallet-1.6.1` on this host |
|
| **1** | **stable-self** | **WARN only** | Rebuild tag `wallet-1.6.1` on this host |
|
||||||
| **2** | **published** | **BLOCKER** | F-Droid stable APK (`net.taler.wallet.fdroid` 1.6.1 / 854) |
|
| **2** | **published** | **BLOCKER** | F-Droid stable APK (`net.taler.wallet.fdroid` 1.6.1 / 854) |
|
||||||
| **3** | **master** | fail counts / FAIL_FAST | Rebuild `origin/master` |
|
| **3** | **master** | **WARN only** | Rebuild `origin/master` |
|
||||||
|
|
||||||
**Default:** `FAIL_FAST=1` only stops on **blocker** failures (`published`).
|
**Default:** `FAIL_FAST=1` only stops on **blocker** failures (`published`).
|
||||||
`stable-self` failure → warning in `SUMMARY.txt`, matrix continues, exit code unaffected by that warn alone.
|
`stable-self` / `master` failure → warning in `SUMMARY.txt`, matrix continues, exit code unaffected by those warns alone.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./run-android-variant-matrix.sh
|
./run-android-variant-matrix.sh
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,12 @@
|
||||||
# 2) **published** — F-Droid stable APK (what users install)
|
# 2) **published** — F-Droid stable APK (what users install)
|
||||||
# Failure → **BLOCKER** (matrix exit ≠ 0; FAIL_FAST stops here)
|
# Failure → **BLOCKER** (matrix exit ≠ 0; FAIL_FAST stops here)
|
||||||
# 3) **master** — rebuild origin/master
|
# 3) **master** — rebuild origin/master
|
||||||
# Failure → counts toward overall fail; does not skip earlier gates
|
# Failure → **WARN only** (tip breakage / ANR must not block stable gate)
|
||||||
#
|
#
|
||||||
# Why stable-self in addition to published?
|
# Why self-builds in addition to published?
|
||||||
# Isolates "our toolchain rebuild of the release tag" vs "F-Droid binary".
|
# Isolates "our toolchain rebuild" vs "F-Droid binary". Rebuild issues
|
||||||
# Rebuild issues (signing flavor, dirty host, low-RAM ANR on debug) must not
|
# (signing flavor, dirty host, low-RAM ANR on debug) must not block the
|
||||||
# block the published-stable gate — hence warn-only for stable-self.
|
# published-stable gate — hence warn-only for stable-self **and** master.
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# ./run-android-variant-matrix.sh
|
# ./run-android-variant-matrix.sh
|
||||||
|
|
@ -56,7 +56,7 @@ SUMMARY="$MATRIX_OUT/SUMMARY.txt"
|
||||||
echo "=== Android variant matrix ===" | tee -a "$SUMMARY"
|
echo "=== Android variant matrix ===" | tee -a "$SUMMARY"
|
||||||
echo "STACK=$STACK GUI=$GUI headless=${EMULATOR_HEADLESS} variants=$VARIANTS" | tee -a "$SUMMARY"
|
echo "STACK=$STACK GUI=$GUI headless=${EMULATOR_HEADLESS} variants=$VARIANTS" | tee -a "$SUMMARY"
|
||||||
echo "STABLE_TAG=$STABLE_TAG MASTER_BRANCH=$MASTER_BRANCH" | tee -a "$SUMMARY"
|
echo "STABLE_TAG=$STABLE_TAG MASTER_BRANCH=$MASTER_BRANCH" | tee -a "$SUMMARY"
|
||||||
echo "severity: stable-self=WARN published=BLOCKER master=fail-count" | tee -a "$SUMMARY"
|
echo "severity: stable-self=WARN published=BLOCKER master=WARN" | tee -a "$SUMMARY"
|
||||||
echo "out: $MATRIX_OUT" | tee -a "$SUMMARY"
|
echo "out: $MATRIX_OUT" | tee -a "$SUMMARY"
|
||||||
|
|
||||||
# Ensure device once (headless AVD by default)
|
# Ensure device once (headless AVD by default)
|
||||||
|
|
@ -79,7 +79,9 @@ overall=0
|
||||||
variant_severity() {
|
variant_severity() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
stable-self|stable|self-stable|release-self) echo warn ;;
|
stable-self|stable|self-stable|release-self) echo warn ;;
|
||||||
|
master|main) echo warn ;;
|
||||||
published|fdroid|stable-published) echo blocker ;;
|
published|fdroid|stable-published) echo blocker ;;
|
||||||
|
# optional fix branch etc.: soft fail (counts) unless overridden
|
||||||
*) echo soft ;;
|
*) echo soft ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
@ -158,7 +160,7 @@ for raw in "${VLIST[@]}"; do
|
||||||
run_selfbuild "stable-self" "$STABLE_TAG" warn || rc=$?
|
run_selfbuild "stable-self" "$STABLE_TAG" warn || rc=$?
|
||||||
;;
|
;;
|
||||||
master|main)
|
master|main)
|
||||||
run_selfbuild "master" "$MASTER_BRANCH" soft || rc=$?
|
run_selfbuild "master" "$MASTER_BRANCH" warn || rc=$?
|
||||||
;;
|
;;
|
||||||
fix|fix-branch|inference)
|
fix|fix-branch|inference)
|
||||||
run_selfbuild "fix" "$FIX_BRANCH" soft || rc=$?
|
run_selfbuild "fix" "$FIX_BRANCH" soft || rc=$?
|
||||||
|
|
@ -171,7 +173,7 @@ for raw in "${VLIST[@]}"; do
|
||||||
if [ "$rc" -ne 0 ]; then
|
if [ "$rc" -ne 0 ]; then
|
||||||
case "$sev" in
|
case "$sev" in
|
||||||
warn)
|
warn)
|
||||||
echo "WARN: variant $v failed rc=$rc — self-build only, NOT a blocker; continuing" | tee -a "$SUMMARY"
|
echo "WARN: variant $v failed rc=$rc — self-build, NOT a blocker; continuing" | tee -a "$SUMMARY"
|
||||||
WARNINGS+=("$v:$rc")
|
WARNINGS+=("$v:$rc")
|
||||||
RESULTS+=("$v:WARN($rc)")
|
RESULTS+=("$v:WARN($rc)")
|
||||||
# do not set overall; do not FAIL_FAST
|
# do not set overall; do not FAIL_FAST
|
||||||
|
|
@ -186,7 +188,7 @@ for raw in "${VLIST[@]}"; do
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
soft)
|
soft)
|
||||||
echo "FAIL: variant $v rc=$rc (counts toward overall; not stable-self)" | tee -a "$SUMMARY"
|
echo "FAIL: variant $v rc=$rc (counts toward overall)" | tee -a "$SUMMARY"
|
||||||
RESULTS+=("$v:FAIL($rc)")
|
RESULTS+=("$v:FAIL($rc)")
|
||||||
overall=1
|
overall=1
|
||||||
if [ "$FAIL_FAST" = "1" ]; then
|
if [ "$FAIL_FAST" = "1" ]; then
|
||||||
|
|
@ -213,5 +215,5 @@ if [ "${#WARNINGS[@]}" -gt 0 ]; then
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
echo "Compare OUT_DIR trees under $MATRIX_OUT"
|
echo "Compare OUT_DIR trees under $MATRIX_OUT"
|
||||||
echo "stable-self failure = WARN only; published failure = BLOCKER."
|
echo "stable-self / master failure = WARN only; published failure = BLOCKER."
|
||||||
exit "$overall"
|
exit "$overall"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue