On this page
On this page
Release process
Release checks stages
Release checks stages
OpenClaw Release Checks is the largest child workflow. It resolves the target
once and validates the umbrella's shared package artifact when available. A
direct or focused dispatch prepares its own release-package-under-test
artifact when package or Docker-facing stages need it.
| Stage | Details |
|---|---|
| Release target | Job: Resolve target ref |
| Backing workflow: none | |
| Tests: selected ref, optional expected Validation SHA, profile, concrete release-check groups, and focused live suite filter. | |
| Rerun: select the concrete group for the failed surface. | |
| Package artifact | Job: Prepare release package artifact |
| Backing workflow: none | |
| Tests: validates the umbrella's immutable package tuple, or packs one candidate tarball for a direct/focused Release Checks dispatch, then exposes it to downstream package-facing checks. | |
| Rerun: the affected package, cross-OS, or live/E2E group. | |
| Install smoke | Job: Run install smoke |
Backing workflow: Install Smoke |
|
| Tests: full install path with root Dockerfile smoke image reuse, QR package install, root and gateway Docker smokes, installer Docker tests, and Bun global install plus CLI/local-agent/Gateway runtime smoke and the advisory Bun-only runtime smoke (except frozen targets). | |
Rerun: rerun_group=install-smoke. |
|
| Cross-OS | Job: cross_os_release_checks |
Backing workflow: OpenClaw Cross-OS Release Checks (Reusable) |
|
| Tests: fresh and upgrade lanes on Linux, Windows, and macOS for the selected provider and mode, using the candidate tarball plus a baseline package. Linux, Windows, and macOS Gateway install and upgrade suites gate beta, stable, and full publication, with recorded pass/fail conclusions. | |
Rerun: rerun_group=cross-os. |
|
| Repo and live E2E | Job: Run repo/live E2E validation |
Backing workflow: OpenClaw Live And E2E Checks (Reusable) |
|
Tests: repository E2E, live cache, OpenAI websocket streaming, native live provider and plugin shards, and Docker-backed live model/backend/gateway harnesses selected by release_profile. |
|
Runs: run_release_soak=true, release_profile=full, or focused rerun_group=live-e2e. |
|
Rerun: rerun_group=live-e2e, optionally with live_suite_filter. |
|
| Docker release path | Job: Run Docker release-path validation |
Backing workflow: OpenClaw Live And E2E Checks (Reusable) |
|
| Tests: release-path Docker chunks against the shared package artifact. | |
Runs: run_release_soak=true, release_profile=full, or focused rerun_group=live-e2e. |
|
Rerun: rerun_group=live-e2e. |
|
| Package Acceptance | Job: Run package acceptance |
Backing workflow: Package Acceptance |
|
Tests: offline plugin package fixtures, plugin update, and published-upgrade survivor checks against the same tarball. The canonical mock-OpenAI Telegram package E2E is deferred for beta all without soak; explicit package and soak select it by default. Blocking release checks use the default latest published baseline; soak checks (run_release_soak=true) resolve the latest stable baseline once and run the reported-issue upgrade fixtures against it. |
|
Rerun: rerun_group=package. |
|
| Maturity scorecard | Job: Render maturity scorecard release docs |
Backing workflow: maturity-scorecard.yml |
|
Tests: renders the advisory maturity scorecard docs against the target ref. Only runs when run_maturity_scorecard=true is passed. |
|
Rerun: direct manual rerun_group=qa with run_maturity_scorecard=true. |
|
| QA parity | Job: Run QA Lab parity lane and Run QA Lab parity report |
| Backing workflow: direct jobs | |
| Tests: candidate and baseline agentic parity packs, then the parity report. | |
Rerun: rerun_group=qa-parity; direct manual child dispatch may aggregate with qa. |
|
| QA runtime parity | Job: Verify QA Lab runtime-pair lanes |
| Backing workflow: direct job | |
Tests: the canonical core openclaw/codex lane (pnpm openclaw qa suite --runtime-pair openclaw,codex --runtime-pair-lane core) and, with run_release_soak=true, the soak lane. Includes the OpenClaw core restart proof. The release verifier enforces the recorded lane status. |
|
Rerun: rerun_group=qa-parity; direct manual child dispatch may aggregate with qa. |
|
| QA runtime tool coverage | Job: Enforce QA Lab runtime tool coverage |
| Backing workflow: direct job | |
Tests: dynamic tool drift between openclaw and codex in the canonical core runtime-pair lane (pnpm openclaw qa coverage --tools), using that lane's output. Blocking: this job is not advisory-overridable. |
|
Rerun: rerun_group=qa-parity; direct manual child dispatch may aggregate with qa. |
|
| QA live Matrix | Job: Run QA Live Matrix catalog |
Backing workflow: QA-Lab - All Lanes reusable workflow |
|
Tests: catalog-derived YAML scenarios through the shared Matrix live adapter in the qa-live-shared environment, distributed across deterministic shards. |
|
Rerun: rerun_group=qa-live with live_suite_filter=qa-live-matrix; direct manual child dispatch may aggregate with qa. |
|
| QA live Buzz | Job: Run QA Lab live Buzz lane |
Backing workflow: QA-Lab - All Lanes reusable workflow |
|
| Tests: signed canary and mention-gating round trips through the real Buzz plugin using dedicated Convex-leased identities and a hosted relay room. | |
Rerun: rerun_group=qa-live with live_suite_filter=qa-live-buzz; direct manual child dispatch may aggregate with qa. |
|
| QA live Telegram | Job: Run QA Lab live Telegram lane |
Backing workflow: trusted OpenClaw Release Telegram QA dispatch |
|
| Tests: live Telegram QA with Convex CI credential leases. | |
Rerun: rerun_group=qa-live; direct manual child dispatch may aggregate with qa. |
|
| QA live Discord | Job: Run QA Lab live Discord lane |
| Backing workflow: direct job with recorded status enforced by the release verifier | |
Tests: live Discord QA with Convex CI credential leases when OPENCLAW_RELEASE_QA_DISCORD_LIVE_CI_ENABLED is enabled. |
|
Rerun: rerun_group=qa-live with live_suite_filter=qa-live-discord. |
|
| QA live WhatsApp | Job: Run QA Lab live WhatsApp lane |
| Backing workflow: direct job with recorded status enforced by the release verifier | |
Tests: live WhatsApp QA with Convex CI credential leases when OPENCLAW_RELEASE_QA_WHATSAPP_LIVE_CI_ENABLED is enabled. |
|
Rerun: rerun_group=qa-live with live_suite_filter=qa-live-whatsapp. |
|
| QA live Slack | Job: Run QA Lab live Slack lane |
| Backing workflow: direct job with recorded status enforced by the release verifier | |
Tests: live Slack QA with Convex CI credential leases when OPENCLAW_RELEASE_QA_SLACK_LIVE_CI_ENABLED is enabled. |
|
Rerun: rerun_group=qa-live with live_suite_filter=qa-live-slack. |
|
| Release verifier | Job: Verify release checks |
| Backing workflow: none | |
| Tests: required release-check jobs for the selected rerun group. | |
| Rerun: rerun after focused child jobs pass. |
Docker release-path chunks
The Docker release-path stage runs these chunks when live_suite_filter is
empty:
| Chunk | Coverage |
|---|---|
core |
Core Docker release-path smoke lanes. |
package-update-openai |
OpenAI package and tool-call proof, Codex on-demand install and live progress, root-managed VPS upgrades, and authenticated update restart. |
package-update-onboarding |
Channel onboarding, install switching, and skill installation. |
package-update-migrations |
Channel switching and published-package upgrade survival. |
package-update-self-upgrade |
Local upgrade survival and compatibility with published September update drivers. |
plugins-runtime-plugins |
Plugin runtime lanes that exercise plugin behavior. |
plugins-runtime-services |
Service-backed and live plugin runtime lanes. |
plugins-runtime-install-a through plugins-runtime-install-h |
Plugin install/runtime batches split for parallel release validation. |
openwebui |
OpenWebUI compatibility smoke isolated on a dedicated large-disk runner when requested. |
All four package/update rows retain their coverage across every release profile.
The provider-neutral checks are balanced across three runners, preserving each
runner's npm limit. package-update-core and package-update remain aggregate
manual chunk names. Root-managed VPS upgrade and authenticated restart checks
run in the OpenAI row.
Missing required credentials still fail the job; the diagnostic pool continues
so independent non-live checks also report their results. Setup failures and
cancellation do not start that pool.
Expanded published-upgrade survivor and update-migration coverage runs in baseline-specific groups of at most three scenarios, with up to 32 targeted Docker jobs active per matrix. The grouping and execution planners share the same baseline compatibility rules; package identities, fresh scenario containers, per-runner npm limits, and failure reporting remain unchanged.
Use targeted docker_lanes=<lane[,lane]> on the reusable live/E2E workflow when
only one Docker lane failed. The release artifacts include per-lane rerun
commands with package artifact and image reuse inputs when available.