Files
bot/scripts/test-live-models-docker.sh
zooqueen 071e3f1082 rebrand: openclaw -> hanzo bot across entire codebase
Automated rebrand of all openclaw references to hanzo bot:
- Package: openclaw -> @hanzo/bot
- Binary: openclaw -> hanzo-bot
- Config: ~/.openclaw -> ~/.hanzo/bot
- Docker: ghcr.io/hanzoai/bot
- Env vars: OPENCLAW_* -> BOT_*
- Bundle IDs: ai.hanzo.bot.*
- Product name: Hanzo Bot
2026-03-19 13:52:32 -07:00

77 lines
2.8 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
IMAGE_NAME="${BOT_IMAGE:-${BOT_IMAGE:-openclaw:local}}"
LIVE_IMAGE_NAME="${BOT_LIVE_IMAGE:-${BOT_LIVE_IMAGE:-${IMAGE_NAME}-live}}"
CONFIG_DIR="${BOT_CONFIG_DIR:-${BOT_CONFIG_DIR:-$HOME/.openclaw}}"
WORKSPACE_DIR="${BOT_WORKSPACE_DIR:-${BOT_WORKSPACE_DIR:-$HOME/.hanzo/bot/workspace}}"
PROFILE_FILE="${BOT_PROFILE_FILE:-${BOT_PROFILE_FILE:-$HOME/.profile}}"
PROFILE_MOUNT=()
if [[ -f "$PROFILE_FILE" ]]; then
PROFILE_MOUNT=(-v "$PROFILE_FILE":/home/node/.profile:ro)
fi
EXTERNAL_AUTH_MOUNTS=()
for auth_dir in .claude .codex .minimax .qwen; do
host_path="$HOME/$auth_dir"
if [[ -d "$host_path" ]]; then
EXTERNAL_AUTH_MOUNTS+=(-v "$host_path":/host-auth/"$auth_dir":ro)
fi
done
read -r -d '' LIVE_TEST_CMD <<'EOF' || true
set -euo pipefail
[ -f "$HOME/.profile" ] && source "$HOME/.profile" || true
for auth_dir in .claude .codex .minimax .qwen; do
if [ -d "/host-auth/$auth_dir" ]; then
mkdir -p "$HOME/$auth_dir"
cp -R "/host-auth/$auth_dir/." "$HOME/$auth_dir"
chmod -R u+rwX "$HOME/$auth_dir" || true
fi
done
tmp_dir="$(mktemp -d)"
cleanup() {
rm -rf "$tmp_dir"
}
trap cleanup EXIT
tar -C /src \
--exclude=.git \
--exclude=node_modules \
--exclude=dist \
--exclude=ui/dist \
--exclude=ui/node_modules \
-cf - . | tar -C "$tmp_dir" -xf -
ln -s /app/node_modules "$tmp_dir/node_modules"
ln -s /app/dist "$tmp_dir/dist"
cd "$tmp_dir"
pnpm test:live
EOF
echo "==> Build live-test image: $LIVE_IMAGE_NAME (target=build)"
docker build --target build -t "$LIVE_IMAGE_NAME" -f "$ROOT_DIR/Dockerfile" "$ROOT_DIR"
echo "==> Run live model tests (profile keys)"
docker run --rm -t \
--entrypoint bash \
-e COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \
-e HOME=/home/node \
-e NODE_OPTIONS=--disable-warning=ExperimentalWarning \
-e BOT_LIVE_TEST=1 \
-e BOT_LIVE_MODELS="${BOT_LIVE_MODELS:-${BOT_LIVE_MODELS:-modern}}" \
-e BOT_LIVE_PROVIDERS="${BOT_LIVE_PROVIDERS:-${BOT_LIVE_PROVIDERS:-}}" \
-e BOT_LIVE_MAX_MODELS="${BOT_LIVE_MAX_MODELS:-${BOT_LIVE_MAX_MODELS:-48}}" \
-e BOT_LIVE_MODEL_TIMEOUT_MS="${BOT_LIVE_MODEL_TIMEOUT_MS:-${BOT_LIVE_MODEL_TIMEOUT_MS:-}}" \
-e BOT_LIVE_REQUIRE_PROFILE_KEYS="${BOT_LIVE_REQUIRE_PROFILE_KEYS:-${BOT_LIVE_REQUIRE_PROFILE_KEYS:-}}" \
-e BOT_LIVE_GATEWAY_MODELS="${BOT_LIVE_GATEWAY_MODELS:-${BOT_LIVE_GATEWAY_MODELS:-}}" \
-e BOT_LIVE_GATEWAY_PROVIDERS="${BOT_LIVE_GATEWAY_PROVIDERS:-${BOT_LIVE_GATEWAY_PROVIDERS:-}}" \
-e BOT_LIVE_GATEWAY_MAX_MODELS="${BOT_LIVE_GATEWAY_MAX_MODELS:-${BOT_LIVE_GATEWAY_MAX_MODELS:-}}" \
-v "$ROOT_DIR":/src:ro \
-v "$CONFIG_DIR":/home/node/.openclaw \
-v "$WORKSPACE_DIR":/home/node/.hanzo/bot/workspace \
"${EXTERNAL_AUTH_MOUNTS[@]}" \
"${PROFILE_MOUNT[@]}" \
"$LIVE_IMAGE_NAME" \
-lc "$LIVE_TEST_CMD"