mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 15:20:44 +00:00
ci: run Telegram package E2E in full release validation
This commit is contained in:
@@ -110,7 +110,7 @@ pnpm test:perf:groups:compare .artifacts/test-perf/baseline-before.json .artifac
|
||||
|
||||
## Full Release Validation
|
||||
|
||||
`Full Release Validation` is the manual umbrella workflow for "run everything before release." It accepts a branch, tag, or full commit SHA, dispatches the manual `CI` workflow with that target, dispatches `Plugin Prerelease` for release-only plugin/package/static/Docker proof, and dispatches `OpenClaw Release Checks` for install smoke, package acceptance, Docker release-path suites, live/E2E, OpenWebUI, QA Lab parity, Matrix, and Telegram lanes. It can also run the post-publish `NPM Telegram Beta E2E` workflow when a published package spec is provided.
|
||||
`Full Release Validation` is the manual umbrella workflow for "run everything before release." It accepts a branch, tag, or full commit SHA, dispatches the manual `CI` workflow with that target, dispatches `Plugin Prerelease` for release-only plugin/package/static/Docker proof, and dispatches `OpenClaw Release Checks` for install smoke, package acceptance, Docker release-path suites, live/E2E, OpenWebUI, QA Lab parity, Matrix, and Telegram lanes. With `rerun_group=all` and `release_profile=full`, it also runs `NPM Telegram Beta E2E` against the `release-package-under-test` artifact from release checks. After publishing, pass `npm_telegram_package_spec` to rerun the same Telegram package lane against the published npm package.
|
||||
|
||||
See [Full release validation](/reference/full-release-validation) for the
|
||||
stage matrix, exact workflow job names, profile differences, artifacts, and
|
||||
|
||||
@@ -102,8 +102,10 @@ the maintainer-only release runbook.
|
||||
tag, or full commit SHA, dispatches manual `CI`, and dispatches
|
||||
`OpenClaw Release Checks` for install smoke, package acceptance, Docker
|
||||
release-path suites, live/E2E, OpenWebUI, QA Lab parity, Matrix, and Telegram
|
||||
lanes. Provide `npm_telegram_package_spec` only after a package has been
|
||||
published and the post-publish Telegram E2E should run too. Provide
|
||||
lanes. With `release_profile=full` and `rerun_group=all`, it also runs package
|
||||
Telegram E2E against the `release-package-under-test` artifact from release
|
||||
checks. Provide `npm_telegram_package_spec` after publishing when the same
|
||||
Telegram E2E should prove the published npm package too. Provide
|
||||
`evidence_package_spec` when the private evidence report should prove that the
|
||||
validation matches a published npm package without forcing Telegram E2E.
|
||||
Example:
|
||||
@@ -247,14 +249,16 @@ gh workflow run full-release-validation.yml \
|
||||
```
|
||||
|
||||
The workflow resolves the target ref, dispatches manual `CI` with
|
||||
`target_ref=<release-ref>`, dispatches `OpenClaw Release Checks`, and
|
||||
optionally dispatches standalone post-publish Telegram E2E when
|
||||
`npm_telegram_package_spec` is set. `OpenClaw Release Checks` then fans out
|
||||
install smoke, cross-OS release checks, live/E2E Docker release-path coverage,
|
||||
Package Acceptance with Telegram package QA, QA Lab parity, live Matrix, and
|
||||
live Telegram. A full run is only acceptable when the `Full Release Validation`
|
||||
summary shows `normal_ci` and `release_checks` as successful, and any optional
|
||||
`npm_telegram` child is either successful or intentionally skipped. The final
|
||||
`target_ref=<release-ref>`, dispatches `OpenClaw Release Checks`, and dispatches
|
||||
standalone package Telegram E2E when `release_profile=full` with
|
||||
`rerun_group=all` or when `npm_telegram_package_spec` is set. `OpenClaw Release
|
||||
Checks` then fans out install smoke, cross-OS release checks, live/E2E Docker
|
||||
release-path coverage, Package Acceptance with Telegram package QA, QA Lab
|
||||
parity, live Matrix, and live Telegram. A full run is only acceptable when the
|
||||
`Full Release Validation`
|
||||
summary shows `normal_ci` and `release_checks` as successful. In full/all mode,
|
||||
the `npm_telegram` child must also be successful; outside full/all it is skipped
|
||||
unless a published `npm_telegram_package_spec` was provided. The final
|
||||
verifier summary includes slowest-job tables for each child run, so the release
|
||||
manager can see the current critical path without downloading logs.
|
||||
See [Full release validation](/reference/full-release-validation) for the
|
||||
@@ -305,6 +309,7 @@ gh workflow run full-release-validation.yml \
|
||||
-f ref=release/YYYY.M.D \
|
||||
-f provider=openai \
|
||||
-f mode=both \
|
||||
-f release_profile=full \
|
||||
-f evidence_package_spec=openclaw@YYYY.M.D-beta.N \
|
||||
-f npm_telegram_package_spec=openclaw@YYYY.M.D-beta.N \
|
||||
-f npm_telegram_provider_mode=mock-openai
|
||||
@@ -322,8 +327,9 @@ For bounded recovery, pass `rerun_group` to the umbrella. `all` is the real
|
||||
release-candidate run, `ci` runs only the normal CI child, `plugin-prerelease`
|
||||
runs only the release-only plugin child, `release-checks` runs every release
|
||||
box, and the narrower release groups are `install-smoke`, `cross-os`,
|
||||
`live-e2e`, `package`, `qa`, `qa-parity`, `qa-live`, and `npm-telegram` when the
|
||||
standalone package Telegram lane is supplied.
|
||||
`live-e2e`, `package`, `qa`, `qa-parity`, `qa-live`, and `npm-telegram`.
|
||||
Focused `npm-telegram` reruns require `npm_telegram_package_spec`; full/all runs
|
||||
with `release_profile=full` use the release-checks package artifact.
|
||||
|
||||
### Vitest
|
||||
|
||||
|
||||
@@ -29,14 +29,14 @@ when validating an older release branch or tag.
|
||||
|
||||
## Top-level stages
|
||||
|
||||
| Stage | Details |
|
||||
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Target resolution | **Job:** `Resolve target ref`<br />**Child workflow:** none<br />**Proves:** resolves the release branch, tag, or full commit SHA and records selected inputs.<br />**Rerun:** rerun the umbrella if this fails. |
|
||||
| Vitest and normal CI | **Job:** `Run normal full CI`<br />**Child workflow:** `CI`<br />**Proves:** manual full CI graph against the target ref, including Linux Node lanes, bundled plugin shards, channel contracts, Node 22 compatibility, `check`, `check-additional`, build smoke, docs checks, Python skills, Windows, macOS, Control UI i18n, and Android via the umbrella.<br />**Rerun:** `rerun_group=ci`. |
|
||||
| Plugin prerelease | **Job:** `Run plugin prerelease validation`<br />**Child workflow:** `Plugin Prerelease`<br />**Proves:** release-only plugin static checks, agentic plugin coverage, full extension batch shards, and plugin prerelease Docker lanes.<br />**Rerun:** `rerun_group=plugin-prerelease`. |
|
||||
| Release checks | **Job:** `Run release/live/Docker/QA validation`<br />**Child workflow:** `OpenClaw Release Checks`<br />**Proves:** install smoke, cross-OS package checks, live/E2E suites, Docker release-path chunks, Package Acceptance, QA Lab parity, live Matrix, and live Telegram.<br />**Rerun:** `rerun_group=release-checks` or a narrower release-checks handle. |
|
||||
| Post-publish Telegram | **Job:** `Run post-publish Telegram E2E`<br />**Child workflow:** `NPM Telegram Beta E2E`<br />**Proves:** optional published-package Telegram proof when `npm_telegram_package_spec` is set.<br />**Rerun:** `rerun_group=npm-telegram`. |
|
||||
| Umbrella verifier | **Job:** `Verify full validation`<br />**Child workflow:** none<br />**Proves:** re-checks recorded child run conclusions and appends slowest-job tables from child workflows.<br />**Rerun:** rerun only this job after rerunning a failed child to green. |
|
||||
| Stage | Details |
|
||||
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Target resolution | **Job:** `Resolve target ref`<br />**Child workflow:** none<br />**Proves:** resolves the release branch, tag, or full commit SHA and records selected inputs.<br />**Rerun:** rerun the umbrella if this fails. |
|
||||
| Vitest and normal CI | **Job:** `Run normal full CI`<br />**Child workflow:** `CI`<br />**Proves:** manual full CI graph against the target ref, including Linux Node lanes, bundled plugin shards, channel contracts, Node 22 compatibility, `check`, `check-additional`, build smoke, docs checks, Python skills, Windows, macOS, Control UI i18n, and Android via the umbrella.<br />**Rerun:** `rerun_group=ci`. |
|
||||
| Plugin prerelease | **Job:** `Run plugin prerelease validation`<br />**Child workflow:** `Plugin Prerelease`<br />**Proves:** release-only plugin static checks, agentic plugin coverage, full extension batch shards, and plugin prerelease Docker lanes.<br />**Rerun:** `rerun_group=plugin-prerelease`. |
|
||||
| Release checks | **Job:** `Run release/live/Docker/QA validation`<br />**Child workflow:** `OpenClaw Release Checks`<br />**Proves:** install smoke, cross-OS package checks, live/E2E suites, Docker release-path chunks, Package Acceptance, QA Lab parity, live Matrix, and live Telegram.<br />**Rerun:** `rerun_group=release-checks` or a narrower release-checks handle. |
|
||||
| Package Telegram | **Job:** `Run package Telegram E2E`<br />**Child workflow:** `NPM Telegram Beta E2E`<br />**Proves:** artifact-backed Telegram package proof for `rerun_group=all` with `release_profile=full`, or published-package Telegram proof when `npm_telegram_package_spec` is set.<br />**Rerun:** `rerun_group=npm-telegram` with `npm_telegram_package_spec`. |
|
||||
| Umbrella verifier | **Job:** `Verify full validation`<br />**Child workflow:** none<br />**Proves:** re-checks recorded child run conclusions and appends slowest-job tables from child workflows.<br />**Rerun:** rerun only this job after rerunning a failed child to green. |
|
||||
|
||||
For `ref=main` and `rerun_group=all`, a newer umbrella supersedes an older one.
|
||||
When the parent is cancelled, its monitor cancels any child workflow it already
|
||||
@@ -84,9 +84,12 @@ commands with package artifact and image reuse inputs when available.
|
||||
|
||||
## Release profiles
|
||||
|
||||
`release_profile` only controls live/provider breadth inside release checks. It
|
||||
does not remove normal full CI, Plugin Prerelease, install smoke, package
|
||||
acceptance, QA Lab, or Docker release-path chunks.
|
||||
`release_profile` mostly controls live/provider breadth inside release checks.
|
||||
It does not remove normal full CI, Plugin Prerelease, install smoke, package
|
||||
acceptance, QA Lab, or Docker release-path chunks. `full` also makes the
|
||||
umbrella run package Telegram E2E against the release package artifact when
|
||||
`rerun_group=all`, so a full pre-publish candidate does not silently skip that
|
||||
Telegram package lane.
|
||||
|
||||
| Profile | Intended use | Included live/provider coverage |
|
||||
| --------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
@@ -113,20 +116,20 @@ uses the broader OpenCode Go model shards instead.
|
||||
|
||||
Use `rerun_group` to avoid repeating unrelated release boxes:
|
||||
|
||||
| Handle | Scope |
|
||||
| ------------------- | ------------------------------------------------- |
|
||||
| `all` | All Full Release Validation stages. |
|
||||
| `ci` | Manual full CI child only. |
|
||||
| `plugin-prerelease` | Plugin Prerelease child only. |
|
||||
| `release-checks` | All OpenClaw Release Checks stages. |
|
||||
| `install-smoke` | Install Smoke through release checks. |
|
||||
| `cross-os` | Cross-OS release checks. |
|
||||
| `live-e2e` | Repo/live E2E and Docker release-path validation. |
|
||||
| `package` | Package Acceptance. |
|
||||
| `qa` | QA parity plus QA live lanes. |
|
||||
| `qa-parity` | QA parity lanes and report only. |
|
||||
| `qa-live` | QA live Matrix and Telegram only. |
|
||||
| `npm-telegram` | Optional post-publish Telegram E2E only. |
|
||||
| Handle | Scope |
|
||||
| ------------------- | --------------------------------------------------------------------- |
|
||||
| `all` | All Full Release Validation stages. |
|
||||
| `ci` | Manual full CI child only. |
|
||||
| `plugin-prerelease` | Plugin Prerelease child only. |
|
||||
| `release-checks` | All OpenClaw Release Checks stages. |
|
||||
| `install-smoke` | Install Smoke through release checks. |
|
||||
| `cross-os` | Cross-OS release checks. |
|
||||
| `live-e2e` | Repo/live E2E and Docker release-path validation. |
|
||||
| `package` | Package Acceptance. |
|
||||
| `qa` | QA parity plus QA live lanes. |
|
||||
| `qa-parity` | QA parity lanes and report only. |
|
||||
| `qa-live` | QA live Matrix and Telegram only. |
|
||||
| `npm-telegram` | Published-package Telegram E2E; requires `npm_telegram_package_spec`. |
|
||||
|
||||
Use `live_suite_filter` with `rerun_group=live-e2e` when one live suite failed.
|
||||
Valid filter ids are defined in the reusable live/E2E workflow, including
|
||||
|
||||
Reference in New Issue
Block a user