diff --git a/docs/help/testing.md b/docs/help/testing.md index 9ef6597fc8f..fa0280b8309 100644 --- a/docs/help/testing.md +++ b/docs/help/testing.md @@ -195,6 +195,10 @@ inside every shard. - Installs an OpenClaw package candidate in Docker, runs installed-package onboarding, configures Telegram through the installed CLI, then reuses the live Telegram QA lane with that installed package as the SUT Gateway. + - The wrapper mounts only the `qa-lab` harness source from the checkout; the + installed package owns `dist`, `openclaw/plugin-sdk`, and bundled plugin + runtime so the lane does not mix current checkout plugins into the package + under test. - Defaults to `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@beta`; set `OPENCLAW_NPM_TELEGRAM_PACKAGE_TGZ=/path/to/openclaw-current.tgz` or `OPENCLAW_CURRENT_PACKAGE_TGZ` to test a resolved local tarball instead of diff --git a/scripts/e2e/npm-telegram-live-docker.sh b/scripts/e2e/npm-telegram-live-docker.sh index ae5ebb94d44..80c3e70a3d2 100755 --- a/scripts/e2e/npm-telegram-live-docker.sh +++ b/scripts/e2e/npm-telegram-live-docker.sh @@ -243,11 +243,12 @@ command -v openclaw openclaw --version EOF -# Mount only test harness/plugin QA sources; the SUT itself is the installed package candidate. +# Mount only QA harness source; the SUT itself, including bundled plugin runtime, +# is the installed package candidate. run_logged docker_e2e_run_with_harness \ "${docker_env[@]}" \ -v "$ROOT_DIR/.artifacts:/app/.artifacts" \ - -v "$ROOT_DIR/extensions:/app/extensions:ro" \ + -v "$ROOT_DIR/extensions/qa-lab:/app/extensions/qa-lab:ro" \ -v "$npm_prefix_host:/npm-global" \ -i "$IMAGE_NAME" bash -s <<'EOF' set -euo pipefail @@ -278,17 +279,12 @@ openclaw --version mkdir -p /app/node_modules openclaw_package_dir="/npm-global/lib/node_modules/openclaw" # The mounted QA harness imports openclaw/plugin-sdk and package dependencies; -# point those imports at the installed package without copying source into the test image. +# point those imports at the installed package without copying source plugins into the test image. rm -rf /app/node_modules/openclaw ln -sfnT "$openclaw_package_dir" /app/node_modules/openclaw rm -rf /app/dist ln -sfnT "$openclaw_package_dir/dist" /app/dist cp "$openclaw_package_dir/package.json" /app/package.json -rm -rf "$openclaw_package_dir/extensions" -ln -sfnT /app/extensions "$openclaw_package_dir/extensions" -mkdir -p /app/node_modules/@openclaw -rm -rf /app/node_modules/@openclaw/qa-channel -ln -sfnT /app/extensions/qa-channel /app/node_modules/@openclaw/qa-channel node scripts/e2e/lib/npm-telegram-live/prepare-package.mjs \ /app/package.json \ /app/node_modules/openclaw/package.json