ci: fan out qa lab lanes

This commit is contained in:
Peter Steinberger
2026-04-23 06:14:54 +01:00
parent 76ab7c5b05
commit c78562d8a2
6 changed files with 224 additions and 21 deletions

View File

@@ -10,13 +10,14 @@ read_when:
The CI runs on every push to `main` and every pull request. It uses smart scoping to skip expensive jobs when only unrelated areas changed.
QA Lab has two dedicated CI lanes outside the main smart-scoped workflow. The
`Parity gate` workflow runs on matching PR changes, every night on `main`, and
manual dispatch; it builds the private QA runtime and compares the mock
GPT-5.4 and Opus 4.6 agentic packs. The `QA-Lab - Live Telegram, Live Frontier`
workflow runs nightly on `main` and on manual dispatch; it uses the
`qa-live-shared` environment plus Convex leases for the live Telegram lane.
`OpenClaw Release Checks` also runs both QA Lab lanes before release approval.
QA Lab has dedicated CI lanes outside the main smart-scoped workflow. The
`Parity gate` workflow runs on matching PR changes and manual dispatch; it
builds the private QA runtime and compares the mock GPT-5.4 and Opus 4.6
agentic packs. The `QA-Lab - All Lanes` workflow runs nightly on `main` and on
manual dispatch; it fans out the mock parity gate, live Matrix lane, and live
Telegram lane as parallel jobs. The live jobs use the `qa-live-shared`
environment, and the Telegram lane uses Convex leases. `OpenClaw Release
Checks` also runs the same QA Lab lanes before release approval.
## Job Overview

View File

@@ -51,11 +51,11 @@ Tip: when you only need one failing case, prefer narrowing live tests via the al
These commands sit beside the main test suites when you need QA-lab realism:
CI runs QA Lab in dedicated workflows. `Parity gate` runs on matching PRs,
nightly on `main`, and from manual dispatch with mock providers. `QA-Lab - Live
Telegram, Live Frontier` runs nightly on `main` and from manual dispatch with
Convex-managed live Telegram credentials. `OpenClaw Release Checks` runs both
lanes before release approval.
CI runs QA Lab in dedicated workflows. `Parity gate` runs on matching PRs and
from manual dispatch with mock providers. `QA-Lab - All Lanes` runs nightly on
`main` and from manual dispatch with the mock parity gate, live Matrix lane, and
Convex-managed live Telegram lane as parallel jobs. `OpenClaw Release Checks`
runs the same lanes before release approval.
- `pnpm openclaw qa suite`
- Runs repo-backed QA scenarios directly on the host.

View File

@@ -54,9 +54,9 @@ OpenClaw has three public release lanes:
- Run `pnpm release:check` before every tagged release
- Release checks now run in a separate manual workflow:
`OpenClaw Release Checks`
- `OpenClaw Release Checks` also runs the QA Lab mock parity gate and the live
Telegram QA lane before release approval. The live lane uses the
`qa-live-shared` environment and Convex CI credential leases.
- `OpenClaw Release Checks` also runs the QA Lab mock parity gate plus the live
Matrix and Telegram QA lanes before release approval. The live lanes use the
`qa-live-shared` environment; Telegram also uses Convex CI credential leases.
- Cross-OS install and upgrade runtime validation is dispatched from the
private caller workflow
`openclaw/releases-private/.github/workflows/openclaw-cross-os-release-checks.yml`,
@@ -169,7 +169,7 @@ When cutting a stable npm release:
when you intentionally want a direct stable publish
3. Run `OpenClaw Release Checks` separately with the same tag or the
full current workflow-branch commit SHA when you want live prompt cache,
QA Lab parity, and live Telegram coverage
QA Lab parity, Matrix, and Telegram coverage
- This is separate on purpose so live coverage stays available without
recoupling long-running or flaky checks to the publish workflow
4. Save the successful `preflight_run_id`