62 lines
1.5 KiB
Bash
Executable file
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 "==========================================="
|