add boot-time synth-diagnostic.service

- synth-diagnostic.service: runs test-unit.py before pipeline services
- Type=oneshot, After=prometheus-exporter, Before=pipeline services
- Pipeline services: After=synth-diagnostic
- deploy: restart prometheus-exporter → start synth-diagnostic → restart pipeline
- install.sh: includes synth-diagnostic in SERVICES array
This commit is contained in:
2026-06-24 02:48:40 -07:00
parent 2e10839fc9
commit b445c272fb
8 changed files with 46 additions and 6 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[Unit]
Description=LED Matrix MIDI Visualization
After=arduino-router.service
After=arduino-router.service synth-diagnostic.service
[Service]
User=arduino
+1 -1
View File
@@ -1,6 +1,6 @@
[Unit]
Description=MIDI rawmidi → Pd UDP bridge (auto-detects gadget/host)
After=multi-user.target
After=multi-user.target synth-diagnostic.service
[Service]
Type=simple
+1 -1
View File
@@ -1,6 +1,6 @@
[Unit]
Description=Pure Data Synth (Onboard PMIC Audio)
After=multi-user.target
After=multi-user.target synth-diagnostic.service
Wants=midi-bridge.service
[Service]
+1 -1
View File
@@ -1,6 +1,6 @@
[Unit]
Description=Prometheus metrics exporter for synth pipeline
After=multi-user.target
After=multi-user.target synth-diagnostic.service
[Service]
Type=simple
+19
View File
@@ -0,0 +1,19 @@
[Unit]
Description=Synth pipeline diagnostic — runs unit tests at boot
DefaultDependencies=no
After=multi-user.target prometheus-exporter.service
Before=midi-bridge.service pd-synth-onboard.service led-matrix-viz.service
[Service]
Type=oneshot
ExecStart=/home/arduino/uno-q-audio-synth/scripts/run-tests.sh
StandardOutput=journal
StandardError=journal
RemainAfterExit=yes
# Don't let failures cascade — critical for headless boot
# On failure: services won't start, board stays SSH-accessible
FailureAction=none
[Install]
WantedBy=multi-user.target