Full Release Validation ist der übergreifende Rahmen für die Produktvalidierung von Releases. Die meisten Arbeiten
finden in untergeordneten Workflows statt, sodass eine fehlgeschlagene Box erneut ausgeführt werden kann, ohne den
gesamten Release neu zu starten. Führen Sie die Release-Vorbereitung aus, bevor Sie den Code-SHA fixieren; sie
aktualisiert die Gebietsschema-Ausgabe der Control UI, wenn der Hintergrund-Bot sie noch nicht
übernommen hat, und erzwingt anschließend dieselbe strikte Prüfung auf null Fallbacks, die auch von der Release-CI verwendet wird.
Fixieren Sie den produktseitig vollständigen Commit vor dem Changelog als Code-SHA und führen Sie dann Folgendes aus:
provider akzeptiert außerdem anthropic oder minimax für das Betriebssystem-übergreifende Onboarding und den
End-to-End-Agentendurchlauf. Das Hilfsprogramm leitet das Profil beta aus Alpha-/Beta-
Paketversionen ab und verwendet andernfalls stable. Übergeben Sie alternative Workflow-Eingaben mit
-f key=value; verwenden Sie -f release_profile=full nur für die umfassende Advisory-Prüfung.
Das Hilfsprogramm erstellt eine temporäre release-ci/*-Referenz, die auf genau einen vertrauenswürdigen
origin/main-Workflow-SHA festgelegt ist, übergibt den Ziel-SHA ausschließlich als Kandidaten-ref
und löscht die temporäre Referenz nach der Validierung. Jeder ausgelöste untergeordnete Workflow muss
denselben Workflow-SHA melden. Übergeben Sie
-f reuse_evidence=false, um eine neue Ausführung zu erzwingen, oder
--workflow-sha <trusted-main-sha>, um einen älteren Workflow-Commit auszuwählen, der weiterhin
vom aktuellen origin/main aus erreichbar ist. Der Workflow selbst erstellt oder aktualisiert niemals
Repository-Referenzen.
Ausnahme für Extended-Stable
Die Veröffentlichung von Extended-Stable erfordert eine Ausführung, bei der sowohl Workflow als auch Ziel dem kanonischen Branch entsprechen:pnpm ci:full-release noch release-ci/*. Die Veröffentlichung bindet den
Branch der Ausführung, den Head-/Ziel-SHA, das Manifest workflowRef, die ID und den Versuch an den kanonischen
Branch und den Release-Commit.
Portieren Sie Produktfehler zurück; nehmen Sie für Werkzeuge mit fixiertem Ziel die kleinste verhaltensbewahrende Korrektur vor;
wiederholen Sie Provider-, Genehmigungs- oder Runner-Fehler ohne
Quellcodeänderung. Jede Branch-Änderung erfordert eine vollständig neue Ausführung. Lassen Sie erforderliches
Paket-, Installer-, Update-, Kanal- oder Live-Verhalten nicht aus, nur weil das Ziel alt ist.
Wenn der Code-SHA für einen regulären Release grün ist, generieren und committen Sie ausschließlich
CHANGELOG.md. Dieser neue Commit ist der Release-SHA. Führen Sie dasselbe Hilfsprogramm für
den Release-SHA aus. Produktnachweise werden nur wiederverwendet, wenn GitHub nachweist, dass der Release-
SHA vom Code-SHA abstammt und die vollständige Menge geänderter Pfade exakt
CHANGELOG.md entspricht; npm-Preflight und Paket-/Installationsakzeptanz werden dennoch auf dem
Release-SHA ausgeführt.
release_profile=stable und release_profile=full führen stets den umfassenden
Live-/Docker-Dauertest aus. Übergeben Sie run_release_soak=true, um dieselben Dauertest-Lanes
mit dem Profil beta einzubeziehen. Die stabile Veröffentlichung lehnt ein Validierungsmanifest
ohne diesen Dauertest und blockierende Nachweise zur Produktleistung ab.
Package Acceptance erstellt den Kandidaten-Tarball normalerweise aus dem aufgelösten
ref, einschließlich vollständiger SHA-Ausführungen, die mit pnpm ci:full-release ausgelöst wurden. Übergeben Sie nach einer
Beta-Veröffentlichung release_package_spec=openclaw@YYYY.M.PATCH-beta.N, um
das veröffentlichte npm-Paket für Release-Prüfungen, Package Acceptance, Betriebssystem-übergreifende Prüfungen,
den Docker-Release-Pfad und Paket-Telegram wiederzuverwenden. Verwenden Sie package_acceptance_package_spec
nur, wenn Package Acceptance absichtlich ein anderes Paket nachweisen soll.
Die Live-Paket-Lane des Codex-Plugins folgt demselben Zustand: Veröffentlichte
release_package_spec-Werte leiten codex_plugin_spec=npm:@openclaw/codex@<version> ab;
SHA-/Artefakt-Ausführungen packen extensions/codex aus der ausgewählten Referenz; und Operatoren
können codex_plugin_spec direkt für Plugin-Quellen vom Typ npm:, npm-pack: oder git:
festlegen. Die Lane erteilt die von diesem Plugin benötigte ausdrückliche Genehmigung zur Installation der Codex CLI
und führt anschließend den Codex-CLI-Preflight sowie OpenAI-Agentendurchläufe in derselben Sitzung aus.
Ihr abschließender Durchlauf ohne Wiederholungen und mit mittlerer Denktiefe sendet sichtbaren Fortschritt mit ausgelassenem
Codex-final, liest zufällig erzeugte Workspace-Eingaben, schreibt deren exaktes Artefakt
und sendet einen ausdrücklichen Abschluss. Dadurch wird die Regression in v2026.7.1 erkannt, bei der das
Senden eines gewöhnlichen Fortschritts den Durchlauf beendete.
Phasen der obersten Ebene
Fürrerun_group=all wird zuerst ein Check for reusable validation evidence-Job ausgeführt.
Er sucht nach der neuesten vorherigen erfolgreichen vollständigen Validierung mit demselben Release-
Profil, derselben effektiven Dauertest-Einstellung und denselben Validierungseingaben. Wiederholungen für exakt dasselbe Ziel verwenden
exact-target-full-validation-v1. Ein Nachfolger, dessen vollständiges Delta exakt
CHANGELOG.md entspricht, verwendet changelog-only-release-v1; jede Produkt-Lane wird übersprungen
und der Verifizierer prüft unabhängig den GitHub-Commit-Vergleich, das unveränderliche
übergeordnete Artefakt, die untergeordneten Ausführungen und die Auslösungsprotokolle erneut. Jede andere Zieländerung erfordert
eine neue Code-SHA-Validierung. Übergeben Sie reuse_evidence=false, um eine neue vollständige
Ausführung zu erzwingen. Die Wiederverwendung von Nachweisen erfolgt nur aus main oder einer kanonischen, SHA-fixierten
release-ci/*-Referenz, deren Workflow-Commit weiterhin zur vertrauenswürdigen main-Abstammung gehört;
andere Workflow-Referenzen führen die ausgewählten Lanes neu aus.
Eine neue paketbezogene Validierung bereitet einen unveränderlichen Tarball und ein Docker-
Image-Artefakt vor, bevor Plugin Prerelease und OpenClaw Release Checks ausgelöst werden.
Beide untergeordneten Workflows prüfen vor der Verwendung denselben Paket-SHA, dieselben Artefakt-IDs und Dienst-Digests,
denselben Versuch der erzeugenden Ausführung sowie denselben Digest des Docker-Archivs. Die paketunabhängige
reine Docker-Schicht verwendet einen inhaltsadressierten GHCR-Cache; kandidatenspezifische Images
bleiben unveränderliche GitHub-Artefakte. Fokussierte Ausführungen mit einer ausdrücklich veröffentlichten
Paketspezifikation behalten stattdessen den bestehenden Paketpfad bei.
Ebenfalls für rerun_group=all erstellt ein Verify Docker runtime image assets-Job
das Docker-Ziel runtime-assets mit
OPENCLAW_EXTENSIONS=diagnostics-otel,codex. Er wird parallel zu den
anderen Phasen ausgeführt und vom übergreifenden Verifizierer erzwungen; Lanes warten vor dem
Auslösen nicht mehr auf ihn. Ein enger gefasster rerun_group überspringt diesen Preflight.
Der übergreifende Workflow löst die Produktleistung stets im reinen Artefaktmodus aus.
OpenClaw Performance erlaubt die Veröffentlichung von Berichten nur für geplante Ausführungen oder eine
manuelle Auslösung, die ausdrücklich publish_reports=true festlegt. Der Schutz für den reinen
Artefaktmodus muss erfolgreich abgeschlossen werden und damit nachweisen, dass der Publisher-Job übersprungen blieb.
Neue und wiederverwendete Nachweise zeichnen
controls.performanceReportPublication=artifact-only auf; der Verifizierer und die Auswahl für die Wiederverwendung
lehnen Nachweise ohne den entsprechenden normalisierten Nachweis des untergeordneten Leistungs-Workflows ab.
Der Verifizierer lädt das kanonische Manifest als
full-release-validation-<run-id>-<run-attempt> hoch. Die Nachweis-Tools validieren
dessen Artefakt-ID, Digest, erzeugenden Lauf und Versuch, bevor sie genau diese
Artefakt-ID herunterladen. Sie begrenzen die Größe der heruntergeladenen ZIP-Datei, prüfen deren Bytes anhand des REST-
sha256:-Digests und streamen den einzigen zulässigen, größenbeschränkten Manifesteintrag, ohne
das Archiv zu extrahieren. Ein Alias mit stabilem Namen bleibt vorübergehend für ältere
Veröffentlichungs-Consumer bestehen. Der Verifizierer bevorzugt stets das versuchsqualifizierte Artefakt;
während der Übergangsphase akzeptiert er den stabilen Namen nur für einen Manifest-v2-
Producer bei Versuch 1. Für spätere Versuche und Manifest v3 lehnt er diesen Legacy-Namen ab.
Für ref=main mit rerun_group=all, für release/*-Refs und für Tideclaw-
Alpha-Refs ersetzt ein neuerer übergeordneter Lauf einen älteren mit demselben Ref und derselben
Wiederholungslaufgruppe. Wenn der übergeordnete Lauf abgebrochen wird, bricht dessen Monitor alle untergeordneten
Workflows ab, die er bereits gestartet hat. Tag- und angeheftete-SHA-Validierungsläufe
brechen einander nicht ab.
Phasen der Release-Prüfungen
OpenClaw Release Checks ist der größte untergeordnete Workflow. Er löst das Ziel
einmalig auf und validiert das gemeinsame Paketartefakt des übergeordneten Workflows, sofern verfügbar. Ein
direkter oder fokussierter Dispatch erstellt sein eigenes release-package-under-test-
Artefakt, wenn paket- oder Docker-bezogene Phasen es benötigen.
Docker-Release-Pfad-Blöcke
Die Docker-Release-Pfad-Phase führt diese Blöcke aus, wennlive_suite_filter
leer ist:
Verwenden Sie gezielt
docker_lanes=<lane[,lane]> im wiederverwendbaren Live-/E2E-Workflow, wenn
nur eine Docker-Lane fehlgeschlagen ist. Die Release-Artefakte enthalten für jede Lane Befehle zur
erneuten Ausführung mit Eingaben zur Wiederverwendung von Paketartefakten und Images, sofern verfügbar.
Release-Profile
release_profile steuert hauptsächlich den Umfang der Live-/Provider-Abdeckung innerhalb der Release-Prüfungen.
Es entfernt weder die normale vollständige CI noch Plugin-Prerelease, Installations-Smoke-Test, Paketabnahme
oder QA Lab. Stabile und vollständige Profile führen immer eine umfassende repo-/livebezogene
E2E- und Docker-Release-Pfad-Dauertestabdeckung aus. Das Beta-Profil kann diese mit
run_release_soak=true aktivieren. Die Paketabnahme stellt für jeden vollständigen Kandidaten den kanonischen
Paket-Telegram-E2E-Test bereit, sodass der übergeordnete Workflow diesen
Live-Poller nicht dupliziert.
Nur bei vollständigen Profilen enthaltene Ergänzungen
Diese Suites werden vonstable übersprungen und von full einbezogen:
stable enthält native-live-src-gateway-profiles-anthropic-smoke und
native-live-src-gateway-profiles-opencode-go-smoke; full verwendet stattdessen die breiteren
Anthropic- und OpenCode-Go-Modell-Shards. Gezielte erneute Ausführungen können weiterhin die
aggregierten Handles native-live-src-gateway-profiles-anthropic oder
native-live-src-gateway-profiles-opencode-go verwenden.
Gezielte erneute Ausführungen
Verwenden Siererun_group, um die Wiederholung nicht zugehöriger Release-Umgebungen zu vermeiden:
Verwenden Sie
live_suite_filter mit rerun_group=live-e2e, wenn eine Live-Suite fehlgeschlagen ist.
Gültige Filter-IDs sind im wiederverwendbaren Live-/E2E-Workflow definiert, darunter
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 und
live-codex-harness-docker.
Legen Sie für eine gezielte erneute Ausführung eines QA-Transports rerun_group=qa-live fest und verwenden Sie den
kanonischen Selektor qa-live-matrix, qa-live-telegram, qa-live-discord,
qa-live-whatsapp oder qa-live-slack.
Das Handle live-gateway-advisory-docker ist ein aggregiertes Handle zur erneuten Ausführung seiner
drei Provider-Shards und verteilt sich daher weiterhin auf alle beratenden Docker-Gateway-Jobs.
Verwenden Sie cross_os_suite_filter mit rerun_group=cross-os, wenn eine betriebssystemübergreifende Lane
fehlgeschlagen ist. Der Filter akzeptiert eine Betriebssystem-ID, eine Suite-ID oder ein Betriebssystem-/Suite-Paar,
beispielsweise windows/packaged-upgrade, windows oder packaged-fresh. Betriebssystemübergreifende
Zusammenfassungen enthalten phasenbezogene Zeitangaben für paketierte Upgrade-Lanes, und lang laufende
Befehle geben Heartbeat-Zeilen aus, sodass eine festhängende Aktualisierung vor dem
Job-Timeout sichtbar wird.
Fehler bei QA-Release-Prüfungen blockieren die normale Release-Validierung nur für ausgewählte
Abdeckungs-Lanes der Matrix-, Telegram- und QA-Laufzeit-Tools. QA-Parität, Laufzeitparität
und die zugangsgesteuerten Live-Lanes für Discord, WhatsApp und Slack sind beratend und
veröffentlichen Statusartefakte, ohne den Release-Prüfer zu blockieren. Tideclaw-
Alpha-Ausführungen können Release-Prüfungs-Lanes, die nicht die Paketsicherheit betreffen, weiterhin als beratend behandeln. Mit
release_profile=beta sind die Live-Provider-Suites Run repo/live E2E validation
beratend: Bereitstellungen von Drittanbieter-Modellen ändern sich während eines Releases, daher
stellt Beta deren Fehler als Warnungen dar, während stabile und vollständige Profile sie weiterhin
blockierend behandeln. Wenn
live_suite_filter ausdrücklich eine zugangsgesteuerte QA-Live-Lane wie Discord,
WhatsApp oder Slack anfordert, muss die entsprechende Repo-Variable OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED
aktiviert sein; andernfalls schlägt die Eingabeerfassung fehl, statt die Lane stillschweigend zu überspringen.
Führen Sie rerun_group=qa, qa-parity oder qa-live erneut aus, wenn Sie
aktuelle QA-Nachweise benötigen.
Aufzubewahrende Nachweise
Bewahren Sie die ZusammenfassungFull Release Validation als Index auf Release-Ebene auf. Sie verlinkt
die IDs untergeordneter Ausführungen und enthält Tabellen der langsamsten Jobs. Untersuchen Sie bei Fehlern zuerst den
untergeordneten Workflow und führen Sie anschließend das kleinste passende Handle oben erneut aus.
Dokumentieren Sie für ein reguläres Release sowohl den Code-SHA als auch den Release-SHA, die Wiederverwendungsrichtlinie
und die Menge geänderter Pfade, die erfolgreiche übergeordnete Ausführung des Code-SHA sowie die leichtgewichtige übergeordnete
Ausführung des Release-SHA. Dokumentieren Sie für Extended Stable den kanonischen Branch, den exakten Release-
SHA, die ID und den Versuch der neuen übergeordneten Ausführung, die Workflow-Referenz, jede untergeordnete Ausführung sowie jede
Kompatibilitätsreparatur des eingefrorenen Ziels oder beabsichtigte Auslassung.
Nützliche Artefakte:
release-package-under-testausOpenClaw Release Checks- Docker-Release-Pfad-Artefakte unter
.artifacts/docker-tests/ - Paketabnahme
package-under-testund Docker-Abnahmeartefakte - Betriebssystemübergreifende Release-Prüfungsartefakte für jedes Betriebssystem und jede Suite
- QA-Parität, Laufzeitparität und ausgewählte Artefakte für Matrix, Telegram, Discord, WhatsApp, oder Slack
Workflow-Dateien
.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/install-smoke-reusable.yml.github/workflows/openclaw-cross-os-release-checks-reusable.yml.github/workflows/package-acceptance.yml.github/workflows/openclaw-performance.yml.github/workflows/npm-telegram-beta-e2e.yml