


























@@ -0,0 +1,95 @@
1+#!/usr/bin/env bash
2+set -euo pipefail
3+4+ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
5+source "$ROOT_DIR/scripts/lib/docker-e2e-image.sh"
6+7+IMAGE_NAME="$(docker_e2e_resolve_image "openclaw-npm-telegram-live-e2e" OPENCLAW_NPM_TELEGRAM_LIVE_E2E_IMAGE)"
8+DOCKER_TARGET="${OPENCLAW_NPM_TELEGRAM_DOCKER_TARGET:-build}"
9+PACKAGE_SPEC="${OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC:-openclaw@beta}"
10+OUTPUT_DIR="${OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR:-.artifacts/qa-e2e/npm-telegram-live}"
11+12+docker_e2e_build_or_reuse "$IMAGE_NAME" npm-telegram-live "$ROOT_DIR/scripts/e2e/Dockerfile" "$ROOT_DIR" "$DOCKER_TARGET"
13+14+mkdir -p "$ROOT_DIR/.artifacts/qa-e2e"
15+run_log="$(mktemp "${TMPDIR:-/tmp}/openclaw-npm-telegram-live.XXXXXX")"
16+17+docker_env=(
18+ -e COREPACK_ENABLE_DOWNLOAD_PROMPT=0
19+ -e OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC="$PACKAGE_SPEC"
20+ -e OPENCLAW_NPM_TELEGRAM_OUTPUT_DIR="$OUTPUT_DIR"
21+ -e OPENCLAW_NPM_TELEGRAM_FAST="${OPENCLAW_NPM_TELEGRAM_FAST:-1}"
22+)
23+24+forward_env_if_set() {
25+local key="$1"
26+if [ -n "${!key:-}" ]; then
27+ docker_env+=(-e "$key=${!key}")
28+fi
29+}
30+31+for key in \
32+ OPENAI_API_KEY \
33+ ANTHROPIC_API_KEY \
34+ GOOGLE_API_KEY \
35+ OPENCLAW_LIVE_OPENAI_KEY \
36+ OPENCLAW_LIVE_ANTHROPIC_KEY \
37+ OPENCLAW_LIVE_GEMINI_KEY \
38+ OPENCLAW_QA_TELEGRAM_GROUP_ID \
39+ OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN \
40+ OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN \
41+ OPENCLAW_QA_CREDENTIAL_SOURCE \
42+ OPENCLAW_QA_CREDENTIAL_ROLE \
43+ OPENCLAW_QA_CONVEX_SITE_URL \
44+ OPENCLAW_QA_CONVEX_SECRET_CI \
45+ OPENCLAW_QA_CONVEX_SECRET_MAINTAINER \
46+ OPENCLAW_QA_CREDENTIAL_LEASE_TTL_MS \
47+ OPENCLAW_QA_CREDENTIAL_HEARTBEAT_INTERVAL_MS \
48+ OPENCLAW_QA_CREDENTIAL_ACQUIRE_TIMEOUT_MS \
49+ OPENCLAW_QA_CREDENTIAL_HTTP_TIMEOUT_MS \
50+ OPENCLAW_QA_CONVEX_ENDPOINT_PREFIX \
51+ OPENCLAW_QA_CREDENTIAL_OWNER_ID \
52+ OPENCLAW_QA_ALLOW_INSECURE_HTTP \
53+ OPENCLAW_QA_REDACT_PUBLIC_METADATA \
54+ OPENCLAW_QA_TELEGRAM_CAPTURE_CONTENT \
55+ OPENCLAW_QA_SUITE_PROGRESS \
56+ OPENCLAW_NPM_TELEGRAM_PROVIDER_MODE \
57+ OPENCLAW_NPM_TELEGRAM_MODEL \
58+ OPENCLAW_NPM_TELEGRAM_ALT_MODEL \
59+ OPENCLAW_NPM_TELEGRAM_SCENARIOS \
60+ OPENCLAW_NPM_TELEGRAM_SUT_ACCOUNT \
61+ OPENCLAW_NPM_TELEGRAM_ALLOW_FAILURES; do
62+ forward_env_if_set "$key"
63+done
64+65+echo "Running published npm Telegram live Docker E2E ($PACKAGE_SPEC)..."
66+if ! docker run --rm \
67+"${docker_env[@]}" \
68+ -v "$ROOT_DIR/.artifacts:/app/.artifacts" \
69+ -i "$IMAGE_NAME" bash -s >"$run_log" 2>&1 <<'EOF'
70+set -euo pipefail
71+72+export HOME="$(mktemp -d "/tmp/openclaw-npm-telegram-live.XXXXXX")"
73+export NPM_CONFIG_PREFIX="$HOME/.npm-global"
74+export PATH="$NPM_CONFIG_PREFIX/bin:$PATH"
75+export OPENCLAW_NPM_TELEGRAM_REPO_ROOT="/app"
76+77+package_spec="${OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC:?missing OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC}"
78+echo "Installing ${package_spec}..."
79+npm install -g "$package_spec" --no-fund --no-audit
80+81+command -v openclaw
82+openclaw --version
83+84+export OPENCLAW_NPM_TELEGRAM_SUT_COMMAND="$(command -v openclaw)"
85+node --import tsx scripts/e2e/npm-telegram-live-runner.ts
86+EOF
87+then
88+ cat "$run_log"
89+ rm -f "$run_log"
90+exit 1
91+fi
92+93+cat "$run_log"
94+rm -f "$run_log"
95+echo "published npm Telegram live Docker E2E passed ($PACKAGE_SPEC)"
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。