diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 6759126fc..e81bf14a0 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "b83726d13e336643d0b68d8aae79f222b8d26e90", - "syncedAt": "2026-04-09T16:28:17.601Z" + "sha": "1d25e43ebcc4cbce23c9e6ef071128da4420d30b", + "syncedAt": "2026-04-09T22:53:49.533Z" } diff --git a/docs/concepts/qa-e2e-automation.md b/docs/concepts/qa-e2e-automation.md index becd26cd1..04a1bac93 100644 --- a/docs/concepts/qa-e2e-automation.md +++ b/docs/concepts/qa-e2e-automation.md @@ -52,6 +52,21 @@ pnpm qa:lab:watch rebuilds that bundle on change, and the browser auto-reloads when the QA Lab asset hash changes. +For a disposable Linux VM lane without bringing Docker into the QA path, run: + +```bash +pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline +``` + +This boots a fresh Multipass guest, installs dependencies, builds OpenClaw +inside the guest, runs `qa suite`, then copies the normal QA report and +summary back into `.artifacts/qa-e2e/...` on the host. +It reuses the same scenario-selection behavior as `qa suite` on the host. +Live runs forward the supported QA auth inputs that are practical for the +guest: env-based provider keys, the QA live provider config path, and +`CODEX_HOME` when present. Keep `--output-dir` under the repo root so the guest +can write back through the mounted workspace. + ## Repo-backed seeds Seed assets live in `qa/`: diff --git a/docs/help/testing.md b/docs/help/testing.md index 511c1a88f..3e2a5dd26 100644 --- a/docs/help/testing.md +++ b/docs/help/testing.md @@ -28,6 +28,7 @@ Most days: - Direct file targeting now routes extension/channel paths too: `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` - Prefer targeted runs first when you are iterating on a single failure. - Docker-backed QA site: `pnpm qa:lab:up` +- Linux VM-backed QA lane: `pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline` When you touch tests or want extra confidence: @@ -41,6 +42,26 @@ When debugging real providers/models (requires real creds): Tip: when you only need one failing case, prefer narrowing live tests via the allowlist env vars described below. +## QA-specific runners + +These commands sit beside the main test suites when you need QA-lab realism: + +- `pnpm openclaw qa suite` + - Runs repo-backed QA scenarios directly on the host. +- `pnpm openclaw qa suite --runner multipass` + - Runs the same QA suite inside a disposable Multipass Linux VM. + - Keeps the same scenario-selection behavior as `qa suite` on the host. + - Reuses the same provider/model selection flags as `qa suite`. + - Live runs forward the supported QA auth inputs that are practical for the guest: + env-based provider keys, the QA live provider config path, and `CODEX_HOME` + when present. + - Output dirs must stay under the repo root so the guest can write back through + the mounted workspace. + - Writes the normal QA report + summary plus Multipass logs under + `.artifacts/qa-e2e/...`. +- `pnpm qa:lab:up` + - Starts the Docker-backed QA site for operator-style QA work. + ## Test suites (what runs where) Think of the suites as “increasing realism” (and increasing flakiness/cost):