OpenClaw Release-Guide: Versionierung und Deployment
Als Entwickler kennst du das sicher: Das manuelle Veröffentlichen von Software kann schnell zu einem fehleranfälligen Prozess werden, bei dem man leicht den Überblick über Versionen oder Abhängigkeiten verliert. Ein klar definierter Release-Prozess hilft dabei, Frustration zu vermeiden und sicherzustellen, dass jede Version stabil bei den Nutzern ankommt.
Mit OpenClaw verwaltest du deine Releases effizient und stellst sicher, dass sowohl das npm-Paket als auch die macOS-App immer synchron und einsatzbereit sind.
Versionsbenennung
Abschnitt betitelt „Versionsbenennung“Die Versionsnummern folgen einem klaren Schema, um den Status jeder Veröffentlichung sofort erkennbar zu machen.
- Stable Release Version:
YYYY.M.D- Git tag:
vYYYY.M.D
- Git tag:
- Stable Correction Release Version:
YYYY.M.D-N- Git tag:
vYYYY.M.D-N
- Git tag:
- Beta Prerelease Version:
YYYY.M.D-beta.N- Git tag:
vYYYY.M.D-beta.N
- Git tag:
- Monat und Tag werden nicht mit einer führenden Null aufgefüllt.
latestbezeichnet das aktuell geförderte, stabile npm-Release.betaist das aktuelle Installationsziel für Beta-Versionen.- Stable- und Korrektur-Releases werden standardmäßig auf npm als
betaveröffentlicht; Release-Operatoren können explizitlatestwählen oder einen geprüften Beta-Build später hochstufen. - Jedes OpenClaw-Release liefert das npm-Paket und die macOS-App gemeinsam aus.
Release-Zyklus
Abschnitt betitelt „Release-Zyklus“Der Prozess ist darauf ausgelegt, Stabilität durch eine klare Abfolge von Tests und Validierungen zu gewährleisten.
- Releases werden zuerst als Beta veröffentlicht.
- Ein Stable-Release folgt erst, nachdem die neueste Beta erfolgreich validiert wurde.
- Detaillierte Release-Verfahren, Freigaben, Anmeldedaten und Wiederherstellungshinweise sind ausschließlich für Maintainer zugänglich.
Release-Preflight
Abschnitt betitelt „Release-Preflight“Bevor ein Release veröffentlicht wird, müssen verschiedene Prüfungen durchlaufen werden, um die Qualität sicherzustellen.
- Führe pnpm check:test-types vor dem Preflight aus, damit die TypeScript-Tests außerhalb des schnelleren lokalen pnpm check-Gates abgedeckt bleiben.
- Führe pnpm check:architecture vor dem Preflight aus, damit die Architektur-Grenzen und Import-Zyklen außerhalb des lokalen Gates grün sind.
- Führe pnpm build && pnpm ui:build vor pnpm release:check aus, damit die erwarteten
dist/*Release-Artefakte und das Control UI Bundle für die Validierung existieren. - Führe pnpm release:check vor jedem getaggten Release aus.
- Release-Prüfungen laufen jetzt in einem separaten manuellen Workflow:
OpenClaw Release Checks. - Die plattformübergreifende Installations- und Upgrade-Validierung wird vom privaten Caller-Workflow
openclaw/releases-private/.github/workflows/openclaw-cross-os-release-checks.ymlgestartet, welcher den wiederverwendbaren öffentlichen Workflow.github/workflows/openclaw-cross-os-release-checks-reusable.ymlaufruft. - Diese Trennung ist beabsichtigt: Der eigentliche npm-Release-Pfad bleibt kurz und deterministisch, während langsamere Live-Prüfungen in ihrer eigenen Spur laufen, um den Publish-Prozess nicht zu blockieren.
- Release-Prüfungen müssen vom GitHub-Workflow-Ref
maingestartet werden, damit Logik und Secrets konsistent bleiben. - Der Workflow akzeptiert entweder ein existierendes Release-Tag oder den aktuellen 40-stelligen main-Commit-SHA.
- Im Commit-SHA-Modus wird nur der aktuelle
origin/mainHEAD akzeptiert; verwende für ältere Commits ein Release-Tag. - Der
OpenClaw NPM ReleaseValidierungs-Preflight akzeptiert ebenfalls den aktuellen 40-stelligen main-Commit-SHA ohne ein gepushtes Tag. - Dieser SHA-Pfad dient nur der Validierung und kann nicht in ein echtes Release befördert werden.
- Im SHA-Modus synthetisiert der Workflow
v<package.json version>nur für die Paket-Metadatenprüfung; ein echtes Release erfordert ein echtes Tag. - Beide Workflows nutzen für den eigentlichen Publish GitHub-gehostete Runner, während der Validierungspfad die größeren Blacksmith Linux-Runner verwenden kann.
- Der Workflow führt folgenden Befehl aus:
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cache- Hierbei werden die Workflow-Secrets
OPENAI_API_KEYundANTHROPIC_API_KEYverwendet. - Der npm-Release-Preflight wartet nicht mehr auf die separate Release-Prüfspur.
- Führe vor der Freigabe folgenden Befehl aus:
RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.ts- Nach dem npm-Publish führe diesen Befehl aus, um den Installationspfad in einem frischen Temp-Präfix zu verifizieren:
node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.D- Die Release-Automatisierung nutzt nun das Prinzip “Preflight-then-Promote”.
- Bei Stable-Korrektur-Releases wie
YYYY.M.D-Nprüft der Post-Publish-Verifier auch den Upgrade-Pfad vonYYYY.M.DaufYYYY.M.D-N. - Der npm-Release-Preflight schlägt fehl, wenn das Tarball nicht sowohl
dist/control-ui/index.htmlals auch ein nicht leeresdist/control-ui/assets/enthält. pnpm test:install:smokeerzwingt zudem das npm-PackunpackedSize-Budget.- Wenn die Release-Arbeit CI-Planungen oder Test-Matrizen berührt hat, müssen die
checks-node-extensionsWorkflow-Outputs aus.github/workflows/ci.ymlvor der Freigabe regeneriert und geprüft werden. - Die Stabilität des macOS-Releases umfasst auch die Updater-Oberflächen: Das GitHub-Release muss das gepackte
.zip,.dmgund.dSYM.zipenthalten, undappcast.xmlaufmainmuss nach dem Publish auf das neue Stable-Zip zeigen.
NPM Workflow-Eingaben
Abschnitt betitelt „NPM Workflow-Eingaben“Die Workflows für OpenClaw akzeptieren spezifische Eingaben, um den Release-Prozess zu steuern.
OpenClaw NPM Releaseakzeptiert:tag: Erforderliches Release-Tag (z. B.v2026.4.2). Beipreflight_only=trueauch der 40-stellige main-Commit-SHA.preflight_only:truefür reine Validierung/Build/Package,falsefür den echten Publish-Pfad.preflight_run_id: Erforderlich auf dem Publish-Pfad zur Wiederverwendung des Tarballs.npm_dist_tag: npm-Ziel-Tag; Standard istbeta.
OpenClaw Release Checksakzeptiert:ref: Existierendes Release-Tag oder der 40-stellige main-Commit-SHA zur Validierung.
- Regeln:
- Stable- und Korrektur-Tags können auf
betaoderlatestveröffentlicht werden. - Beta-Prerelease-Tags dürfen nur auf
betaveröffentlicht werden. - Der volle Commit-SHA ist nur bei
preflight_only=trueerlaubt. - Der Publish-Pfad muss dasselbe
npm_dist_tagwie beim Preflight verwenden.
- Stable- und Korrektur-Tags können auf
Stabiler NPM Release-Ablauf
Abschnitt betitelt „Stabiler NPM Release-Ablauf“Folge diesen Schritten, um ein stabiles npm-Release sicher durchzuführen.
- Starte
OpenClaw NPM Releasemitpreflight_only=true. - Wähle
npm_dist_tag=betafür den Standard-Beta-First-Pfad oderlatestfür ein direktes Stable-Release. - Starte
OpenClaw Release Checksseparat mit demselben Tag oder dem aktuellen main-Commit-SHA. - Speichere die erfolgreiche
preflight_run_id. - Starte
OpenClaw NPM Releaseerneut mitpreflight_only=false, demselbentag, demnpm_dist_tagund der gespeichertenpreflight_run_id. - Falls das Release auf
betagelandet ist, nutze den privaten Workflowopenclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.yml, um die Version vonbetaauflatestzu befördern. - Wenn das Release direkt auf
latestveröffentlicht wurde, nutze denselben privaten Workflow, um beide Dist-Tags auf die stabile Version zu setzen.
Öffentliche Referenzen
Abschnitt betitelt „Öffentliche Referenzen“Hier findest du die relevanten Dateien und Skripte für den Release-Prozess.
.github/workflows/openclaw-npm-release.yml.github/workflows/openclaw-release-checks.yml.github/workflows/openclaw-cross-os-release-checks-reusable.ymlscripts/openclaw-npm-release-check.tsscripts/package-mac-dist.shscripts/make_appcast.sh
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.