summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-21 03:55:10 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-21 03:55:10 +0200
commit56e0c351bb95cfdf63aa76ab8c5d725a694bad63 (patch)
treee99c7af6eca0656948279055c20a5f87d855d4c8 /Makefile
parent5e8ac1e2f5a660e55ea132996e1d5730cfa4fa64 (diff)
test(build): add make watchdog, the glance memory budget and the glance screenshot
- make watchdog (in make ci): a stress build encodes, packs, turns into runs and draws the largest code of every 2D symbology at two steps per event on the Forerunner 255S and 70; it fails on a watchdog trip, and the last code left on the screen must decode (bitmap path on the 70). - make memtest checks the glance (DIAG glance, budget 70 % of 64 KB). - screenshots.sh launches the app again after the flow and compares the glance with the favourite's code (glance_code.png on 7 watches); the About goldens show 0.8.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile10
1 files changed, 8 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index ff27914..5cec7ba 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,9 @@ TEST_DEVICES ?= fr255s venusq2 fr70 fr965
# Extra screenshot-only devices (README 14): MIP with touch and buttons,
# buttons-only AMOLED, the largest rectangle.
SPOT_DEVICES ?= fenix7 instinct3amoled45mm venux1
+# `make watchdog`: one device per watchdog class (120,000 and 240,000
+# bytecodes per event).
+WATCHDOG_DEVICES ?= fr255s fr70
# `make lock` only uses package releases published before this moment.
LOCK_CUTOFF ?= 2026-10-01T00:00:00Z
# Set to `nuke` to skip the confirmation prompt of `make nuke`.
@@ -72,7 +75,7 @@ DOCS_RUN = $(DOCKER) run --rm --init --label project=$(PROJECT) \
--read-only --tmpfs /tmp:rw,exec,nosuid,size=1g --shm-size 512m \
-v "$(ROOT)":/work -w /work --network none $(DOCS_IMAGE)
-.PHONY: help image docs-image sdk key build test test-tools sim screenshots screenshots-approve perf memtest icons vectors corpus codes spike spike-sim \
+.PHONY: help image docs-image sdk key build test test-tools sim screenshots screenshots-approve perf memtest watchdog icons vectors corpus codes spike spike-sim \
lint package docs ci shell clean nuke lock products \
check-docker dirs need-image need-docs-image
@@ -177,6 +180,9 @@ perf: dirs need-image ## Start-up time on TEST_DEVICES against tools/budgets.jso
memtest: dirs need-image ## Memory use on TEST_DEVICES against tools/budgets.json
$(DEV_OFFLINE) app-diag.sh mem $(TEST_DEVICES)
+watchdog: dirs need-image ## Largest 2D codes at twice the steps per event on WATCHDOG_DEVICES (no watchdog trip)
+ $(DEV_OFFLINE) app-diag.sh watchdog $(WATCHDOG_DEVICES)
+
lint: dirs need-image ## Strict type check (warnings fail), project rules, Python lint and types
$(DEV_OFFLINE) lint.sh $(TEST_DEVICES)
@@ -191,7 +197,7 @@ docs: dirs need-image need-docs-image ## Markdown lint, link check, Mermaid rend
fi; \
done'
-ci: lint test screenshots perf memtest package docs ## Everything above, in order; stops at the first failure
+ci: lint test screenshots perf memtest watchdog package docs ## Everything above, in order; stops at the first failure
@echo "make ci: all checks passed"
# ---------------------------------------------------------------- cleanup