Release and CI
Volledige releasevalidatie
Volledige releasevalidatie is de overkoepelende releaseworkflow. Dit is het enige handmatige
toegangspunt voor bewijs vóór de release, maar het meeste werk gebeurt in onderliggende workflows zodat een
mislukte box opnieuw kan worden uitgevoerd zonder de hele release opnieuw te starten.
Voer dit uit vanaf een vertrouwde workflow-ref, normaal 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.PATCH \ -f provider=openai \ -f mode=both \ -f release_profile=stableOnderliggende 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.
release_profile=stable en release_profile=full voeren altijd de uitgebreide
live/Docker-duurtest uit. Geef run_release_soak=true door om dezelfde duurtestbanen
op te nemen met het betaprofiel. Stabiele publicatie weigert een validatiemanifest zonder deze
duurtest en blokkerend bewijs voor productprestaties.
Pakketacceptatie bouwt normaal de kandidaat-tarball vanuit de opgeloste
ref, inclusief runs met volledige SHA die zijn gestart met pnpm ci:full-release. Geef na een
betapublicatie release_package_spec=openclaw@YYYY.M.PATCH-beta.N door om het
verzonden npm-pakket opnieuw te gebruiken voor releasecontroles, pakketacceptatie, cross-OS,
release-pad-Docker en pakket-Telegram. Gebruik package_acceptance_package_spec
alleen wanneer pakketacceptatie bewust een ander pakket moet bewijzen.
De live pakketbaan van de Codex-Plugin volgt dezelfde status: gepubliceerde
release_package_spec-waarden leiden codex_plugin_spec=npm:@openclaw/codex@<version> af;
SHA-/artifact-runs pakken extensions/codex vanuit de geselecteerde ref; en operators
kunnen codex_plugin_spec rechtstreeks instellen voor npm:, npm-pack: of git: Plugin-
bronnen. De baan verleent de expliciete installatiegoedkeuring voor de Codex CLI die door
die Plugin wordt vereist, en voert daarna de Codex CLI-preflight en OpenAI-agentbeurten in dezelfde sessie uit.
Topniveaufasen
| Fase | Details |
|---|---|
| Doelresolutie | Taak: Resolve target ref |
| Onderliggende workflow: geen | |
| Bewijst: lost de releasebranch, tag of volledige commit-SHA op en legt geselecteerde invoer vast. | |
| 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-banen, gebundelde Plugin-shards, Plugin- en kanaalcontractshards, Node 22-compatibiliteit, check-*, check-additional-*, smokechecks voor gebouwde artifacts, docscontroles, 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-specifieke statische Plugin-controles, agentische Plugin-dekking, volledige extensiebatchshards, Plugin-prerelease-Dockerbanen en een niet-blokkerend plugin-inspector-advisory-artifact voor compatibiliteitstriage. |
|
Opnieuw uitvoeren: rerun_group=plugin-prerelease. |
|
| Releasecontroles | Taak: Run release/live/Docker/QA validation |
Onderliggende workflow: OpenClaw Release Checks |
|
Bewijst: installatiesmoke, cross-OS-pakketcontroles, pakketacceptatie, QA Lab-pariteit, live Matrix en live Telegram. Stabiele en volledige profielen voeren ook uitgebreide live/E2E-suites en Docker-chunks voor het release-pad uit; beta kan zich hiervoor aanmelden met run_release_soak=true. |
|
Opnieuw uitvoeren: rerun_group=release-checks of een smallere release-checks-handle. |
|
| Pakket-Telegram | Taak: Run package Telegram E2E |
Onderliggende workflow: NPM Telegram Beta E2E |
|
Bewijst: een gerichte gepubliceerde-pakket-Telegram-E2E wanneer release_package_spec of npm_telegram_package_spec is ingesteld. Volledige kandidaatvalidatie gebruikt in plaats daarvan de canonieke pakketacceptatie-Telegram-E2E. |
|
Opnieuw uitvoeren: rerun_group=npm-telegram met release_package_spec of npm_telegram_package_spec. |
|
| Overkoepelende verifier | Taak: Verify full validation |
| Onderliggende workflow: geen | |
| Bewijst: controleert de vastgelegde conclusies van onderliggende runs opnieuw en voegt tabellen met langzaamste taken uit onderliggende workflows toe. | |
| Opnieuw uitvoeren: voer alleen deze taak opnieuw uit nadat een mislukte onderliggende taak opnieuw groen is uitgevoerd. |
Voor ref=main en rerun_group=all vervangt een nieuwere overkoepelende workflow een oudere.
Wanneer de bovenliggende run 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 release-package-under-test-artifact voor wanneer pakket-
of Docker-gerichte fasen dit nodig hebben.
| Fase | Details |
|---|---|
| Releasedoel | Taak: Resolve target ref |
| Onderliggende workflow: geen | |
| Tests: geselecteerde ref, optionele verwachte SHA, profiel, rerun-groep en gerichte live suite-filter. | |
Rerun: rerun_group=release-checks. |
|
| Pakketartefact | Taak: Prepare release package artifact |
| Onderliggende workflow: geen | |
Tests: pakt of resolveert één kandidaat-tarball en uploadt release-package-under-test voor downstream pakketgerichte controles. |
|
| Rerun: het getroffen pakket, de cross-OS-groep of de live/E2E-groep. | |
| Installatiesmoke | Taak: Run install smoke |
Onderliggende workflow: Install Smoke |
|
| Tests: volledig installatiepad met hergebruik van de root-Dockerfile-smoke-image, QR-pakketinstallatie, root- en Gateway-Docker-smokes, installer-Docker-tests, Bun global install image-provider-smoke en snelle E2E voor installatie/verwijdering van gebundelde Plugins. | |
Rerun: rerun_group=install-smoke. |
|
| Cross-OS | Taak: cross_os_release_checks |
Onderliggende workflow: OpenClaw Cross-OS Release Checks (Reusable) |
|
| Tests: fresh- en upgrade-lanes op Linux, Windows en macOS voor de geselecteerde provider en modus, met de kandidaat-tarball plus een baselinepakket. | |
Rerun: 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-websocketstreaming, native live provider- en Plugin-shards, en door Docker ondersteunde live model/backend/Gateway-harnassen geselecteerd door release_profile. |
|
Uitvoeringen: run_release_soak=true, release_profile=full of gericht rerun_group=live-e2e. |
|
Rerun: 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. | |
Uitvoeringen: run_release_soak=true, release_profile=full of gericht rerun_group=live-e2e. |
|
Rerun: rerun_group=live-e2e. |
|
| Pakketacceptatie | Taak: Run package acceptance |
Onderliggende workflow: Package Acceptance |
|
Tests: offline Plugin-pakketfixtures, Plugin-update, de canonieke mock-OpenAI Telegram-pakket-E2E en gepubliceerde-upgrade-overlevingscontroles 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. |
|
Rerun: 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. | |
Rerun: 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. |
|
Rerun: 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. | |
Rerun: rerun_group=qa-live of rerun_group=qa. |
|
| Releaseverificatie | Taak: Verify release checks |
| Onderliggende workflow: geen | |
| Tests: vereiste releasecontroletaken voor de geselecteerde rerun-groep. | |
| Rerun: opnieuw uitvoeren nadat gerichte onderliggende taken slagen. |
Docker-releasepadchunks
De Docker-releasepadfase voert deze chunks uit wanneer live_suite_filter
leeg is:
| Chunk | Dekking |
|---|---|
core |
Core-Docker-releasepad-smoke-lanes. |
package-update-openai |
OpenAI-pakketinstallatie-/updategedrag, Codex-installatie op aanvraag, live Codex-Plugin-beurten en Chat Completions-toolcalls. |
package-update-anthropic |
Installatie- en updategedrag van Anthropic-pakketten. |
package-update-core |
Providerneutraal pakket- en updategedrag. |
plugins-runtime-plugins |
Plugin-runtime-lanes die Plugin-gedrag testen. |
plugins-runtime-services |
Service-ondersteunde en live Plugin-runtime-lanes; bevat OpenWebUI wanneer aangevraagd. |
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-lane is mislukt. De releaseartefacten bevatten rerun-
commando's per lane met pakketartefact- en image-hergebruikinvoer wanneer beschikbaar.
Releaseprofielen
release_profile bepaalt vooral de live/provider-breedte binnen releasecontroles.
Het verwijdert geen normale volledige CI, Plugin Prerelease, installatiesmoke, pakket-
acceptatie of QA Lab. Stabiele en volledige profielen voeren altijd uitputtende repo/live
E2E- en Docker-releasepad-soakdekking uit. Het bètaprofiel kan zich hiervoor aanmelden met
run_release_soak=true. Package Acceptance levert de canonieke pakket-
Telegram-E2E voor elke volledige kandidaat, dus de umbrella dupliceert die
live poller niet.
| Profiel | Beoogd gebruik | Inbegrepen live/provider-dekking |
|---|---|---|
minimum |
Snelste releasekritieke smoke. | OpenAI/core-livepad, Docker-live modellen voor OpenAI, native Gateway-core, native OpenAI-Gateway-profiel, native OpenAI-Plugin en Docker-live Gateway OpenAI. |
stable |
Standaard releasegoedkeuringsprofiel. | 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 adviserende sweep. | stable plus adviserende providers, Plugin-live-shards en media-live-shards. |
Alleen-full-toevoegingen
Deze suites worden overgeslagen door stable en opgenomen door full:
| Gebied | Alleen-full-dekking |
|---|---|
| Docker-live modellen | OpenCode Go, OpenRouter, xAI, Z.ai en Fireworks. |
| Docker-live Gateway | Adviserende 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 overig, 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 reruns kunnen nog steeds de
geaggregeerde handles native-live-src-gateway-profiles-anthropic of
native-live-src-gateway-profiles-opencode-go gebruiken.
Gerichte reruns
Gebruik rerun_group om te voorkomen dat niet-gerelateerde releasevakken 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 releasecontroles. |
cross-os |
Cross-OS-releasecontroles. |
live-e2e |
Repo/live E2E- en Docker-validatie van het releasepad. |
package |
Package Acceptance. |
qa |
QA-pariteit plus QA-live-lanes. |
qa-parity |
Alleen QA-pariteitslanes en rapport. |
qa-live |
QA-live Matrix/Telegram plus gated Discord-, WhatsApp- en Slack-lanes wanneer ingeschakeld. |
npm-telegram |
Gepubliceerd-pakket Telegram E2E; vereist release_package_spec of npm_telegram_package_spec. |
Gebruik live_suite_filter met rerun_group=live-e2e wanneer één live-suite is mislukt.
Geldige filter-id’s zijn 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 de
drie providershards, waardoor deze nog steeds uitwaaiert 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
printen Heartbeat-regels zodat een vastgelopen Windows-update zichtbaar is voordat de
jobtimeout wordt bereikt.
Mislukkingen in QA-releasecontroles blokkeren normale releasevalidatie. Vereiste OpenClaw
dynamic tool drift in de standaardlaag blokkeert ook de release-check-verifier.
Tideclaw alpha-runs kunnen non-package-safety release-check-lanes nog steeds als
advisory behandelen. Wanneer live_suite_filter expliciet een gated QA-live-lane aanvraagt,
zoals Discord, WhatsApp of Slack, moet de bijbehorende
OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED-repo-variabele zijn ingeschakeld; anders
mislukt het vastleggen van invoer in plaats van de lane stilzwijgend over te slaan. Voer rerun_group=qa,
qa-parity of qa-live opnieuw uit wanneer je nieuw QA-bewijs nodig hebt.
Te bewaren bewijs
Bewaar de samenvatting Full Release Validation als index op releaseniveau. Deze linkt naar
child-run-id’s en bevat tabellen met traagste jobs. Inspecteer bij fouten eerst de child-workflow
en voer daarna de kleinste overeenkomende handle hierboven opnieuw uit.
Nuttige artifacts:
release-package-under-testvanOpenClaw Release Checks- Docker-releasepad-artifacts onder
.artifacts/docker-tests/ - Package Acceptance
package-under-testen Docker-acceptance-artifacts - Cross-OS-releasecheck-artifacts voor elk OS en elke suite
- QA-pariteits-, Matrix- en Telegram-artifacts
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