Release and CI
Volledige releasevalidatie
Full Release Validation is de overkoepelende releasevalidatie. Dit is het enige handmatige
ingangspunt voor pre-releasebewijs, maar het meeste werk gebeurt in onderliggende workflows zodat een
mislukte box opnieuw kan worden uitgevoerd zonder de hele release opnieuw te starten.
Voer deze uit vanaf een vertrouwde workflow-ref, normaal gesproken main, en geef de releasebranch,
tag of volledige commit-SHA door als ref:
gh workflow run full-release-validation.yml \
--ref main \
-f ref=release/YYYY.M.D \
-f provider=openai \
-f mode=both \
-f release_profile=stable
Onderliggende workflows gebruiken de vertrouwde workflow-ref voor de harness en de invoer
ref voor de kandidaat die wordt getest. Daardoor blijft nieuwe validatielogica beschikbaar
bij het valideren van een oudere releasebranch of tag.
Standaard voert release_profile=stable de releaseblokkerende lanes uit en slaat het
uitputtende live-/Docker-soakproces over. Geef run_release_soak=true door om de
soak-lanes in een stabiele run op te nemen. release_profile=full schakelt soak-lanes altijd in zodat
het brede adviesprofiel nooit stilzwijgend dekking verliest.
Package Acceptance bouwt de kandidaat-tarball normaal gesproken vanuit de opgeloste
ref, inclusief runs met volledige SHA die met pnpm ci:full-release zijn gestart. Geef na
publicatie [email protected] (of
openclaw@beta/openclaw@latest) door om dezelfde pakket-/updatematrix in plaats daarvan tegen
het geleverde npm-pakket uit te voeren.
Hoofdfasen
| Fase | Details |
|---|---|
| Doelresolutie | Taak: Resolve target ref |
| Onderliggende workflow: geen | |
| Bewijst: lost de releasebranch, tag of volledige commit-SHA op en registreert geselecteerde invoer. | |
| Opnieuw uitvoeren: voer de overkoepelende workflow opnieuw uit als dit mislukt. | |
| Vitest en normale CI | Taak: Run normal full CI |
Onderliggende workflow: CI |
|
Bewijst: handmatige volledige CI-grafiek tegen de doel-ref, inclusief Linux Node-lanes, gebundelde Plugin-shards, kanaalcontracten, Node 22-compatibiliteit, check, check-additional, build-smoke, documentatiecontroles, Python-Skills, Windows, macOS, Control UI-i18n en Android via de overkoepelende workflow. |
|
Opnieuw uitvoeren: rerun_group=ci. |
|
| Plugin-prerelease | Taak: Run plugin prerelease validation |
Onderliggende workflow: Plugin Prerelease |
|
| Bewijst: release-only statische Plugin-controles, agentische Plugin-dekking, volledige extensiebatch-shards en Plugin-prerelease-Docker-lanes. | |
Opnieuw uitvoeren: rerun_group=plugin-prerelease. |
|
| Releasecontroles | Taak: Run release/live/Docker/QA validation |
Onderliggende workflow: OpenClaw Release Checks |
|
Bewijst: installatiesmoke, pakketcontroles op meerdere besturingssystemen, Package Acceptance, QA Lab-pariteit, live Matrix en live Telegram. Met run_release_soak=true of release_profile=full worden ook uitputtende live-/E2E-suites en Docker-releasepadchunks uitgevoerd. |
|
Opnieuw uitvoeren: rerun_group=release-checks of een smallere release-checks-handle. |
|
| Pakketartefact | Taak: Prepare release package artifact |
| Onderliggende workflow: geen | |
Bewijst: maakt de bovenliggende tarball release-package-under-test vroeg genoeg aan voor pakketgerichte controles die niet hoeven te wachten op OpenClaw Release Checks. |
|
Opnieuw uitvoeren: voer de overkoepelende workflow opnieuw uit of geef npm_telegram_package_spec op voor rerun_group=npm-telegram. |
|
| Pakket-Telegram | Taak: Run package Telegram E2E |
Onderliggende workflow: NPM Telegram Beta E2E |
|
Bewijst: Telegram-pakketbewijs op basis van het bovenliggende artefact voor rerun_group=all met release_profile=full, of Telegram-bewijs voor gepubliceerd pakket wanneer npm_telegram_package_spec is ingesteld. |
|
Opnieuw uitvoeren: rerun_group=npm-telegram met npm_telegram_package_spec. |
|
| Overkoepelende verifier | Taak: Verify full validation |
| Onderliggende workflow: geen | |
| Bewijst: controleert geregistreerde conclusies van onderliggende runs opnieuw en voegt tabellen met traagste taken uit onderliggende workflows toe. | |
| Opnieuw uitvoeren: voer alleen deze taak opnieuw uit nadat een mislukte onderliggende workflow opnieuw groen is uitgevoerd. |
Voor ref=main en rerun_group=all vervangt een nieuwere overkoepelende workflow een oudere.
Wanneer de bovenliggende workflow wordt geannuleerd, annuleert de monitor alle onderliggende workflows die al
zijn gestart. Validatieruns voor releasebranches en tags annuleren elkaar standaard niet.
Fasen van releasecontroles
OpenClaw Release Checks is de grootste onderliggende workflow. Deze lost het doel
één keer op en bereidt een gedeeld artefact release-package-under-test voor wanneer pakket-
of Docker-gerichte fasen dit nodig hebben.
| Fase | Details |
|---|---|
| Release-doel | Taak: Resolve target ref |
| Onderliggende workflow: geen | |
| Tests: geselecteerde ref, optionele verwachte SHA, profiel, groep voor opnieuw uitvoeren en gerichte livesuite-filter. | |
Opnieuw uitvoeren: rerun_group=release-checks. |
|
| Pakketartefact | Taak: Prepare release package artifact |
| Onderliggende workflow: geen | |
Tests: maakt pakketten aan of lost één kandidaat-tarball op en uploadt release-package-under-test voor downstream pakketgerichte controles. |
|
| Opnieuw uitvoeren: het getroffen pakket, cross-OS- of live/E2E-groep. | |
| Installatiesmoke | Taak: Run install smoke |
Onderliggende workflow: Install Smoke |
|
| Tests: volledig installatiepad met hergebruik van root-Dockerfile-smoke-image, QR-pakketinstallatie, Docker-smokes voor root en Gateway, Docker-tests voor installatieprogramma, Bun global install image-provider-smoke en snelle gebundelde-Plugin-installatie/verwijdering-E2E. | |
Opnieuw uitvoeren: rerun_group=install-smoke. |
|
| Cross-OS | Taak: cross_os_release_checks |
Onderliggende workflow: OpenClaw Cross-OS Release Checks (Reusable) |
|
| Tests: fresh- en upgradebanen op Linux, Windows en macOS voor de geselecteerde provider en modus, met de kandidaat-tarball plus een baselinepakket. | |
Opnieuw uitvoeren: rerun_group=cross-os. |
|
| Repo en live E2E | Taak: Run repo/live E2E validation |
Onderliggende workflow: OpenClaw Live And E2E Checks (Reusable) |
|
Tests: repository-E2E, live cache, OpenAI websocket-streaming, native live provider- en Plugin-shards, en Docker-ondersteunde live model/backend/Gateway-harnassen geselecteerd door release_profile. |
|
Draait: run_release_soak=true, release_profile=full, of gericht rerun_group=live-e2e. |
|
Opnieuw uitvoeren: rerun_group=live-e2e, optioneel met live_suite_filter. |
|
| Docker-releasepad | Taak: Run Docker release-path validation |
Onderliggende workflow: OpenClaw Live And E2E Checks (Reusable) |
|
| Tests: Docker-chunks voor het releasepad tegen het gedeelde pakketartefact. | |
Draait: run_release_soak=true, release_profile=full, of gericht rerun_group=live-e2e. |
|
Opnieuw uitvoeren: rerun_group=live-e2e. |
|
| Pakketacceptatie | Taak: Run package acceptance |
Onderliggende workflow: Package Acceptance |
|
Tests: offline Plugin-pakketfixtures, Plugin-update, mock-OpenAI Telegram-pakketacceptatie en published-upgrade-survivor-controles tegen dezelfde tarball. Blokkerende releasecontroles gebruiken de standaard nieuwste gepubliceerde baseline; soak-controles breiden uit naar elke stabiele npm-release op of na 2026.4.23 plus fixtures voor gemelde issues. |
|
Opnieuw uitvoeren: rerun_group=package. |
|
| QA-pariteit | Taak: Run QA Lab parity lane en Run QA Lab parity report |
| Onderliggende workflow: directe taken | |
| Tests: kandidaat- en baseline-agentic-pariteitspakketten, daarna het pariteitsrapport. | |
Opnieuw uitvoeren: rerun_group=qa-parity of rerun_group=qa. |
|
| QA live Matrix | Taak: Run QA Lab live Matrix lane |
| Onderliggende workflow: directe taak | |
Tests: snel live Matrix-QA-profiel in de qa-live-shared-omgeving. |
|
Opnieuw uitvoeren: rerun_group=qa-live of rerun_group=qa. |
|
| QA live Telegram | Taak: Run QA Lab live Telegram lane |
| Onderliggende workflow: directe taak | |
| Tests: live Telegram-QA met Convex CI-credentialleases. | |
Opnieuw uitvoeren: rerun_group=qa-live of rerun_group=qa. |
|
| Releaseverificateur | Taak: Verify release checks |
| Onderliggende workflow: geen | |
| Tests: vereiste releasecontroletaken voor de geselecteerde groep voor opnieuw uitvoeren. | |
| Opnieuw uitvoeren: opnieuw uitvoeren nadat gerichte child-taken slagen. |
Docker-releasepadchunks
De Docker-releasepadfase voert deze chunks uit wanneer live_suite_filter
leeg is:
| Chunk | Dekking |
|---|---|
core |
Core Docker-releasepad-smokebanen. |
package-update-openai |
Installatie- en updategedrag van OpenAI-pakketten. |
package-update-anthropic |
Installatie- en updategedrag van Anthropic-pakketten. |
package-update-core |
Providerneutraal pakket- en updategedrag. |
plugins-runtime-plugins |
Plugin-runtimebanen die Plugin-gedrag testen. |
plugins-runtime-services |
Service-ondersteunde Plugin-runtimebanen; bevat OpenWebUI indien gevraagd. |
plugins-runtime-install-a through plugins-runtime-install-h |
Plugin-installatie/runtimebatches opgesplitst voor parallelle releasevalidatie. |
Gebruik gerichte docker_lanes=<lane[,lane]> op de herbruikbare live/E2E-workflow wanneer
slechts één Docker-baan is mislukt. De releaseartefacten bevatten per baan opdrachten voor
opnieuw uitvoeren met pakketartefact- en imagehergebruikinvoer wanneer beschikbaar.
Releaseprofielen
release_profile bepaalt vooral de live/provider-breedte binnen releasecontroles.
Het verwijdert geen normale volledige CI, Plugin-prerelease, installatiesmoke, pakketacceptatie
of QA Lab. Voor stable zijn uitputtende repo/live E2E- en Docker-releasepadchunks
soakdekking en draaien ze wanneer run_release_soak=true.
full dwingt soakdekking af en laat de overkoepelende run ook pakket-Telegram-E2E
uitvoeren tegen het bovenliggende releasepakketartefact wanneer rerun_group=all, zodat een volledige
pre-publish-kandidaat die Telegram-pakketbaan niet stilzwijgend overslaat.
| Profiel | Beoogd gebruik | Inbegrepen live/provider-dekking |
|---|---|---|
minimum |
Snelste releasekritieke smoke. | OpenAI/core-livepad, Docker-livemodellen voor OpenAI, native Gateway-core, native OpenAI-Gateway-profiel, native OpenAI-Plugin en Docker live Gateway OpenAI. |
stable |
Standaardprofiel voor releasegoedkeuring. | minimum plus Anthropic-smoke, Google, MiniMax, backend, native live testharnas, Docker live CLI-backend, Docker ACP-bind, Docker Codex-harnas en een OpenCode Go-smoke-shard. |
full |
Brede advisory-sweep. | stable plus advisory-providers, Plugin-live-shards en media-live-shards. |
Alleen-full toevoegingen
Deze suites worden overgeslagen door stable en inbegrepen door full:
| Gebied | Alleen-full dekking |
|---|---|
| Docker-livemodellen | OpenCode Go, OpenRouter, xAI, Z.ai en Fireworks. |
| Docker live Gateway | Advisory-providers opgesplitst in DeepSeek/Fireworks-, OpenCode Go/OpenRouter- en xAI/Z.ai-shards. |
| Native Gateway-providerprofielen | Volledige Anthropic Opus- en Sonnet/Haiku-shards, Fireworks, DeepSeek, volledige OpenCode Go-modelshards, OpenRouter, xAI en Z.ai. |
| Native Plugin-live-shards | Plugins A-K, L-N, O-Z other, Moonshot en xAI. |
| Native media-live-shards | Audio, Google music, MiniMax music en videogroepen A-D. |
stable bevat native-live-src-gateway-profiles-anthropic-smoke en
native-live-src-gateway-profiles-opencode-go-smoke; full gebruikt in plaats daarvan de bredere
Anthropic- en OpenCode Go-modelshards. Gerichte heruitvoeringen kunnen nog steeds de
geaggregeerde handles native-live-src-gateway-profiles-anthropic of
native-live-src-gateway-profiles-opencode-go gebruiken.
Gerichte heruitvoeringen
Gebruik rerun_group om te voorkomen dat niet-gerelateerde releaseboxes opnieuw worden uitgevoerd:
| Handle | Bereik |
|---|---|
all |
Alle fasen van Full Release Validation. |
ci |
Alleen handmatige volledige CI-child. |
plugin-prerelease |
Alleen Plugin Prerelease-child. |
release-checks |
Alle fasen van OpenClaw Release Checks. |
install-smoke |
Install Smoke via release checks. |
cross-os |
Cross-OS-releasechecks. |
live-e2e |
Repo/live E2E en Docker-releasepadvalidatie. |
package |
Package Acceptance. |
qa |
QA-pariteit plus QA-live-lanes. |
qa-parity |
Alleen QA-pariteitslanes en rapport. |
qa-live |
Alleen QA-live Matrix en Telegram. |
npm-telegram |
E2E voor gepubliceerd Telegram-pakket; vereist npm_telegram_package_spec. |
Gebruik live_suite_filter met rerun_group=live-e2e wanneer één live suite is mislukt.
Geldige filter-id's worden gedefinieerd in de herbruikbare live/E2E-workflow, waaronder
docker-live-models, live-gateway-docker,
live-gateway-anthropic-docker, live-gateway-google-docker,
live-gateway-minimax-docker, live-gateway-advisory-docker,
live-cli-backend-docker, live-acp-bind-docker en
live-codex-harness-docker.
De handle live-gateway-advisory-docker is een geaggregeerde rerun-handle voor zijn
drie provider-shards, dus hij waaiert nog steeds uit naar alle advisory Docker Gateway-jobs.
Gebruik cross_os_suite_filter met rerun_group=cross-os wanneer één cross-OS-lane
is mislukt. Het filter accepteert een OS-id, een suite-id of een OS/suite-paar, bijvoorbeeld
windows/packaged-upgrade, windows of packaged-fresh. Cross-OS-samenvattingen
bevatten timings per fase voor packaged upgrade-lanes, en langlopende opdrachten
drukken Heartbeat-regels af zodat een vastgelopen Windows-update zichtbaar is vóór de
job-time-out.
QA-releasecheck-lanes zijn adviserend. Een QA-only-fout wordt gerapporteerd als waarschuwing
en blokkeert de releasecheck-verifier niet; voer rerun_group=qa,
qa-parity of qa-live opnieuw uit wanneer je nieuw QA-bewijs nodig hebt.
Bewijs om te bewaren
Bewaar de samenvatting van Full Release Validation als de releasebrede index. Deze linkt
child-run-id's en bevat tabellen met de langzaamste jobs. Inspecteer bij fouten eerst de
child-workflow en voer daarna de kleinste passende handle hierboven opnieuw uit.
Nuttige artefacten:
release-package-under-testuit de Full Release Validation-parent enOpenClaw Release Checks- Docker-releasepadartefacten onder
.artifacts/docker-tests/ - Package Acceptance
package-under-testen Docker-acceptatieartefacten - Cross-OS-releasecheckartefacten voor elk OS en elke suite
- QA-pariteit, Matrix- en Telegram-artefacten
Workflowbestanden
.github/workflows/full-release-validation.yml.github/workflows/openclaw-release-checks.yml.github/workflows/openclaw-live-and-e2e-checks-reusable.yml.github/workflows/plugin-prerelease.yml.github/workflows/install-smoke.yml.github/workflows/openclaw-cross-os-release-checks-reusable.yml.github/workflows/package-acceptance.yml