The Test Run sandbox and Monaco analysis modelled a script API that had drifted from the site runtime's ScriptGlobals, so real scripts failed to compile in Test Run. Realign both to the runtime surface (Instance/Scripts/ExternalSystem/Attributes/Children/Parent) and drop the duplicate ScriptHost stub so the two cannot diverge again. - Script calls (Scripts.CallShared, Instance.CallScript, Route.To().Call) accept an anonymous object instead of a hand-built dictionary, via a shared ScriptArgs normalizer; existing dictionary calls still compile. - Test Run can optionally bind to a deployed instance, so Instance/ Attributes/CallScript route to it cross-site; adds site-side RouteToGetAttributes/RouteToSetAttributes handlers. - Adds Test Run panels to the API method and template script editors. - Fixes the TestDatabaseQuery seed script, which queried a table that never existed. Also commits unrelated in-progress work already in the tree: the health monitoring report loop, site streaming changes, and the Admin/Design data-connection and SMTP page reorganization.
58 lines
1.6 KiB
Bash
Executable File
58 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Tear down ScadaLink test infrastructure.
|
|
#
|
|
# Drops the MSSQL data volume by default, so the ScadaLinkConfig DB
|
|
# (templates, scripts, data connections, etc.) is wiped. Use
|
|
# infra/reseed.sh afterwards to restore the design state from
|
|
# infra/mssql/seed-config.sql.
|
|
#
|
|
# Usage:
|
|
# ./teardown.sh Stop containers and delete the SQL data volume
|
|
# ./teardown.sh --images Also remove downloaded Docker images
|
|
# ./teardown.sh --all Remove volumes, images, and the Python venv
|
|
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")"
|
|
|
|
REMOVE_IMAGES=false
|
|
REMOVE_VENV=false
|
|
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--images) REMOVE_IMAGES=true ;;
|
|
--all) REMOVE_IMAGES=true; REMOVE_VENV=true ;;
|
|
-h|--help)
|
|
echo "Usage: ./teardown.sh [--images] [--all]"
|
|
echo " (no flags) Stop containers, delete SQL data volume"
|
|
echo " --images Also remove downloaded Docker images"
|
|
echo " --all Remove volumes, images, and Python venv"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Unknown option: $arg" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "Stopping containers and removing SQL data volume..."
|
|
if $REMOVE_IMAGES; then
|
|
docker compose down -v --rmi all
|
|
else
|
|
docker compose down -v
|
|
fi
|
|
|
|
if $REMOVE_VENV && [ -d tools/.venv ]; then
|
|
echo "Removing Python virtual environment..."
|
|
rm -rf tools/.venv
|
|
fi
|
|
|
|
echo ""
|
|
echo "Teardown complete."
|
|
echo ""
|
|
echo "To restore the full test cluster (infra + app + design seed + sites):"
|
|
echo " infra/reseed.sh"
|
|
echo ""
|
|
echo "To start only infra (no app, no seed):"
|
|
echo " cd infra && docker compose up -d"
|