aboutsummaryrefslogtreecommitdiff
path: root/docker/scripts/build-app.sh
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-25 23:51:52 +0100
committercirakg <cirakg@cirakg.xyz>2026-10-25 23:51:52 +0100
commitb8addc87f804789368612bf8e1be31a2bf28efe1 (patch)
treebece4051eb6f009eba05ffdd585420232741a7d7 /docker/scripts/build-app.sh
parent140a6660f63f88d05ba9aae0bf1c4b401bb6574d (diff)
test(ui): second UI scenario, and the fixes it found
A second UI-test build (uitest-extra.jungle) covers the legacy PIN and the forced new PIN, Change and Reset PIN, a queued Require PIN, UPC-A, Code 39, the code error screen, the encoding progress, auto-lock on a barcode, the light theme and the glance without a code; the main flow adds the Steam and Library details and the menu's text screens. Fixed from what it found: Entry IDs tripped the watchdog with 110 entries; auto-lock didn't close a locked barcode; a queued Require PIN showed "Confirm in menu"; locked barcodes lacked the padlock; the PIN keypad's bottom row, the Reset PIN question, text-screen bottoms, the glance title and the light-theme warning colour. Goldens approved on all seven watches; only the Forerunner 70 was re-verified after the version bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docker/scripts/build-app.sh')
-rwxr-xr-xdocker/scripts/build-app.sh14
1 files changed, 8 insertions, 6 deletions
diff --git a/docker/scripts/build-app.sh b/docker/scripts/build-app.sh
index 5ead272..4d027a1 100755
--- a/docker/scripts/build-app.sh
+++ b/docker/scripts/build-app.sh
@@ -1,13 +1,14 @@
#!/usr/bin/env bash
# Author: cirakg & claude ai
-# Summary: Compile the watch app for one device: debug, release, unit-test, UI-test or watchdog stress build.
+# Summary: Compile the watch app for one device: debug, release, unit-test, UI-test (two scenarios) or watchdog stress build.
#
-# Usage: build-app.sh debug|release|test|uitest|stress DEVICE
+# Usage: build-app.sh debug|release|test|uitest|uitest-extra|stress DEVICE
# Output: build/<mode>/<DEVICE>.prg, and the compiler log next to it.
#
# Policy (README section 17.7): strict type checking (-l 3), and any compiler
# warning fails the build. UI-test builds add uitest.jungle (fixed clock,
-# fake entries; see source/util/TestMode.mc), stress builds stress.jungle (the
+# fake entries; see source/util/TestMode.mc), or uitest-extra.jungle for the
+# extra scenario's fixture, stress builds stress.jungle (the
# watchdog stress test, source/util/StressTest.mc). Test builds add
# test.jungle, so test code never reaches debug or release builds; release builds (-r) also drop every
# (:debug) declaration, such as the diagnostics in source/util/Diag.mc.
@@ -15,8 +16,8 @@ set -euo pipefail
# shellcheck source=ciq-env.sh
source "$(dirname "${BASH_SOURCE[0]}")/ciq-env.sh"
-mode="${1:?usage: build-app.sh debug|release|test|uitest|stress DEVICE}"
-device="${2:?usage: build-app.sh debug|release|test|uitest|stress DEVICE}"
+mode="${1:?usage: build-app.sh debug|release|test|uitest|uitest-extra|stress DEVICE}"
+device="${2:?usage: build-app.sh debug|release|test|uitest|uitest-extra|stress DEVICE}"
ciq_require_sdk
ciq_require_key
@@ -30,12 +31,13 @@ case "${mode}" in
debug) ;;
release) args+=(-r) ;;
uitest) jungles="${jungles};/work/uitest.jungle" ;;
+ uitest-extra) jungles="${jungles};/work/uitest-extra.jungle" ;;
stress) jungles="${jungles};/work/stress.jungle" ;;
test)
jungles="${jungles};/work/test.jungle"
args+=(-t)
;;
- *) die "unknown build mode '${mode}' (use debug, release, test, uitest or stress)" ;;
+ *) die "unknown build mode '${mode}' (use debug, release, test, uitest, uitest-extra or stress)" ;;
esac
out_dir="${BUILD_DIR}/${mode}"