From 8e8228628711bde416d50ae8899bace2f66192cc Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Wed, 24 Jun 2026 02:49:58 -0700 Subject: [PATCH] synth-diagnostic starts pipeline services, cleans up on failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - run-tests.sh: starts pipeline services, runs test-unit.py, stops services on failure, leaves running on success - synth-diagnostic is the single gate for pipeline startup - deploy: stop pipeline → restart prometheus → start synth-diagnostic (synth-diagnostic starts pipeline on success) --- justfile | 2 +- scripts/run-tests.sh | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/justfile b/justfile index e74d350..0478496 100644 --- a/justfile +++ b/justfile @@ -104,9 +104,9 @@ deploy: cd {{REPO_DIR}} && git pull && \ chmod +x scripts/*.py scripts/*.sh 2>/dev/null; \ echo '{{BOARD_PASS}}' | sudo -S systemctl daemon-reload && \ + echo '{{BOARD_PASS}}' | sudo -S systemctl stop midi-bridge pd-synth-onboard led-matrix-viz && \ echo '{{BOARD_PASS}}' | sudo -S systemctl restart prometheus-exporter && \ echo '{{BOARD_PASS}}' | sudo -S systemctl start synth-diagnostic && \ - echo '{{BOARD_PASS}}' | sudo -S systemctl restart midi-bridge pd-synth-onboard led-matrix-viz && \ echo '[OK] Deployed + restarted'" # Start synth (onboard audio) diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh index 6b5bed0..73babec 100644 --- a/scripts/run-tests.sh +++ b/scripts/run-tests.sh @@ -1,19 +1,25 @@ #!/bin/bash -# run-tests.sh — wrapper for test-unit.py with exit code mapping +# run-tests.sh — start services, run tests, clean up on failure set -euo pipefail BOARD="${BOARD_HOST:-192.168.9.167}" cd /home/arduino/uno-q-audio-synth -echo "[diag] Running synth pipeline diagnostics against $BOARD..." +echo "[diag] Starting pipeline services for diagnostics..." +sudo systemctl start midi-bridge pd-synth-onboard led-matrix-viz +echo "[diag] Waiting 3s for services to settle..." +sleep 3 + +echo "[diag] Running synth pipeline diagnostics against $BOARD..." python3 scripts/test-unit.py "$BOARD" exit_code=$? if [ $exit_code -eq 0 ]; then - echo "[diag] All tests PASSED — pipeline healthy" + echo "[diag] All tests PASSED — pipeline healthy, leaving services running" else - echo "[diag] Tests FAILED (exit $exit_code) — check dashboard for details" + echo "[diag] Tests FAILED (exit $exit_code) — stopping pipeline services" + sudo systemctl stop midi-bridge pd-synth-onboard led-matrix-viz fi exit $exit_code \ No newline at end of file