Public Access
There is no Debug Build any more (ADR 0010, issue #68, Q188 to Q195). The console and the test commands are compiled into every firmware. It listens only while Settings > Debug Console is on, which isn't the default; off, neither its task nor its 4 KB ring exists. The token is made by the device and shown on that page; a client proves it knows it by answering a challenge with an HMAC, so it never crosses the network, and five wrong answers close the console for a minute. DBG in the Status Bar while it listens. Over USB serial only: debug on, debug token <value>, debug token new. scripts/flash.sh --debug uses them to set a device up with the developer's token. scripts/rdbg.py takes the token from -t, $RORO_DEBUG_TOKEN or the file, answers the challenge, and fetches a release's ELF to decode a crash. Gone: the cardputer-adv-debug environment, RORO_DEBUG, the +debug version, scripts/debug_flags.py, update install ... force, and the rule that a Debug Build doesn't install releases. Old clients and old firmwares don't talk to each other. Against the builds it replaces: 30 KB more flash and 88 bytes more static RAM than the release, 4 KB less RAM than the Debug Build. 468 host tests. Checked on the device: off by default, login, the pause after wrong tokens, Safe Mode with the console, the setting surviving an update, debug off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
15 lines
553 B
Bash
Executable File
15 lines
553 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Local CI: run host unit tests, then build the firmware.
|
|
# Usage: scripts/ci.sh [tests|builds] one half only; both by default
|
|
set -euo pipefail
|
|
source "$(dirname "$0")/_docker.sh"
|
|
DOCKER_EXTRA=()
|
|
|
|
case "${1:-all}" in
|
|
tests) STEPS='pio test -e native' ;;
|
|
builds) STEPS='pio run -e cardputer-adv' ;;
|
|
all) STEPS='pio test -e native && pio run -e cardputer-adv' ;;
|
|
*) echo "Usage: scripts/ci.sh [tests|builds]" >&2; exit 1 ;;
|
|
esac
|
|
run_in_container bash -c 'git config --global --add safe.directory "$PWD" && '"$STEPS"
|