databuild/scripts/run_multihop_example.sh
Stuart Axelbrooke d812bb51e2
Some checks failed
/ setup (push) Has been cancelled
update multihop example
2025-11-27 14:51:13 +08:00

62 lines
1.5 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
# Navigate to repository root
cd "$(dirname "$0")/.."
REPO_ROOT="$(pwd)"
EXAMPLE_DIR="$REPO_ROOT/examples/multihop"
FLAG_FILE="/tmp/databuild_multihop_alpha_complete"
CLI="$REPO_ROOT/bazel-bin/databuild/databuild"
echo "=== DataBuild Multi-Hop Example ==="
echo
# Clean up previous state
echo "Cleaning up previous state..."
rm -f "$FLAG_FILE"
rm -rf "$EXAMPLE_DIR/.databuild/"
(cd "$EXAMPLE_DIR" && "$CLI" stop 2>/dev/null || true)
# Build the binary
echo "Building databuild CLI..."
bazel build //databuild:databuild
echo
echo "=== Starting server ==="
echo
# Start the server by making a request (triggers auto-start)
cd "$EXAMPLE_DIR"
OUTPUT=$("$CLI" wants list 2>&1)
# Extract port from status
PORT=$("$CLI" status 2>&1 | grep "Port:" | awk '{print $2}')
echo
echo "Server running at: http://127.0.0.1:${PORT}"
echo
echo "=== Ready to run example ==="
echo
echo "From the examples/multihop directory, try the following commands:"
echo "(The CLI uses databuild.json by default)"
echo
echo " # Check server status"
echo " databuild status"
echo
echo " # Create a want for data/beta (triggers dependency chain)"
echo " databuild want data/beta"
echo
echo " # Monitor wants"
echo " databuild wants list"
echo
echo " # Monitor job runs"
echo " databuild job-runs list"
echo
echo " # Monitor partitions"
echo " databuild partitions list"
echo
echo " # Stop the server when done"
echo " databuild stop"
echo
echo "==========================================="