Release and CI
Tam sürüm doğrulaması
Full Release Validation, sürüm yayın şemsiyesidir. Yayın öncesi kanıt için tek manuel giriş noktasıdır, ancak işin çoğu alt iş akışlarında gerçekleşir; böylece başarısız bir kutu tüm yayını yeniden başlatmadan yeniden çalıştırılabilir.
Bunu güvenilir bir iş akışı ref'inden, normalde main üzerinden çalıştırın ve yayın dalını, etiketini veya tam commit SHA'sını ref olarak geçirin:
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
Alt iş akışları, harness için güvenilir iş akışı ref'ini ve test altındaki aday için ref girdisini kullanır. Bu, daha eski bir yayın dalı veya etiketi doğrulanırken yeni doğrulama mantığının kullanılabilir kalmasını sağlar.
Varsayılan olarak, release_profile=stable yayını engelleyen hatları çalıştırır ve kapsamlı canlı/Docker soak işlemini atlar. Kararlı bir çalıştırmada soak hatlarını dahil etmek için run_release_soak=true geçirin. release_profile=full soak hatlarını her zaman etkinleştirir; böylece geniş danışma profili kapsamı sessizce düşürmez.
Package Acceptance normalde, pnpm ci:full-release ile gönderilen tam SHA çalıştırmaları dahil olmak üzere, aday tarball'ı çözümlenen ref üzerinden oluşturur. Yayından sonra aynı paket/güncelleme matrisini yayımlanmış npm paketi üzerinde çalıştırmak için bunun yerine [email protected] (veya openclaw@beta/openclaw@latest) geçirin.
Üst Düzey Aşamalar
| Aşama | Ayrıntılar |
|---|---|
| Hedef çözümleme | İş: Resolve target ref |
| Alt iş akışı: yok | |
| Kanıtlar: yayın dalını, etiketini veya tam commit SHA'sını çözer ve seçilen girdileri kaydeder. | |
| Yeniden çalıştırma: bu başarısız olursa şemsiyeyi yeniden çalıştırın. | |
| Vitest ve normal CI | İş: Run normal full CI |
Alt iş akışı: CI |
|
Kanıtlar: Linux Node hatları, paketle gelen Plugin shard'ları, kanal sözleşmeleri, Node 22 uyumluluğu, check, check-additional, derleme smoke'u, doküman kontrolleri, Python Skills, Windows, macOS, Control UI i18n ve şemsiye aracılığıyla Android dahil olmak üzere hedef ref'e karşı manuel tam CI grafiği. |
|
Yeniden çalıştırma: rerun_group=ci. |
|
| Plugin yayın öncesi | İş: Run plugin prerelease validation |
Alt iş akışı: Plugin Prerelease |
|
| Kanıtlar: yalnızca yayına özel Plugin statik kontrolleri, ajansal Plugin kapsamı, tam eklenti toplu shard'ları ve Plugin yayın öncesi Docker hatları. | |
Yeniden çalıştırma: rerun_group=plugin-prerelease. |
|
| Yayın kontrolleri | İş: Run release/live/Docker/QA validation |
Alt iş akışı: OpenClaw Release Checks |
|
Kanıtlar: kurulum smoke'u, çapraz işletim sistemi paket kontrolleri, Package Acceptance, QA Lab paritesi, canlı Matrix ve canlı Telegram. run_release_soak=true veya release_profile=full ile kapsamlı canlı/E2E paketleri ve Docker yayın yolu parçaları da çalışır. |
|
Yeniden çalıştırma: rerun_group=release-checks veya daha dar bir release-checks tanıtıcısı. |
|
| Paket artefaktı | İş: Prepare release package artifact |
| Alt iş akışı: yok | |
Kanıtlar: OpenClaw Release Checks beklemeyi gerektirmeyen paket odaklı kontroller için üst release-package-under-test tarball'ını yeterince erken oluşturur. |
|
Yeniden çalıştırma: şemsiyeyi yeniden çalıştırın veya rerun_group=npm-telegram için npm_telegram_package_spec sağlayın. |
|
| Paket Telegram | İş: Run package Telegram E2E |
Alt iş akışı: NPM Telegram Beta E2E |
|
Kanıtlar: release_profile=full ile rerun_group=all için üst artefakt destekli Telegram paket kanıtı veya npm_telegram_package_spec ayarlandığında yayımlanmış paket Telegram kanıtı. |
|
Yeniden çalıştırma: npm_telegram_package_spec ile rerun_group=npm-telegram. |
|
| Şemsiye doğrulayıcı | İş: Verify full validation |
| Alt iş akışı: yok | |
| Kanıtlar: kaydedilmiş alt çalıştırma sonuçlarını yeniden kontrol eder ve alt iş akışlarından en yavaş iş tablolarını ekler. | |
| Yeniden çalıştırma: başarısız bir alt işi yeşile döndürmek için yeniden çalıştırdıktan sonra yalnızca bu işi yeniden çalıştırın. |
ref=main ve rerun_group=all için daha yeni bir şemsiye daha eski olanın yerini alır. Üst öğe iptal edildiğinde, izleyicisi daha önce gönderdiği tüm alt iş akışlarını iptal eder. Yayın dalı ve etiket doğrulama çalıştırmaları varsayılan olarak birbirini iptal etmez.
Yayın Kontrolleri Aşamaları
OpenClaw Release Checks en büyük alt iş akışıdır. Hedefi bir kez çözer ve paket veya Docker odaklı aşamalar ihtiyaç duyduğunda paylaşılan bir release-package-under-test artefaktı hazırlar.
| Aşama | Ayrıntılar |
|---|---|
| Sürüm hedefi | İş: Resolve target ref |
| Destekleyen iş akışı: yok | |
| Testler: seçilen ref, isteğe bağlı beklenen SHA, profil, yeniden çalıştırma grubu ve odaklanmış canlı paket filtresi. | |
Yeniden çalıştırma: rerun_group=release-checks. |
|
| Paket artefaktı | İş: Prepare release package artifact |
| Destekleyen iş akışı: yok | |
Testler: bir aday tarball paketler veya çözümler ve aşağı akış paket odaklı kontroller için release-package-under-test yükler. |
|
| Yeniden çalıştırma: etkilenen paket, çapraz işletim sistemi veya canlı/E2E grubu. | |
| Kurulum duman testi | İş: Run install smoke |
Destekleyen iş akışı: Install Smoke |
|
| Testler: kök Dockerfile duman görüntüsü yeniden kullanımıyla tam kurulum yolu, QR paket kurulumu, kök ve Gateway Docker duman testleri, kurulum aracı Docker testleri, Bun global kurulum görüntü sağlayıcı duman testi ve hızlı paketli Plugin kurulum/kaldırma E2E. | |
Yeniden çalıştırma: rerun_group=install-smoke. |
|
| Çapraz işletim sistemi | İş: cross_os_release_checks |
Destekleyen iş akışı: OpenClaw Cross-OS Release Checks (Reusable) |
|
| Testler: aday tarball ve bir temel paket kullanılarak, seçilen sağlayıcı ve mod için Linux, Windows ve macOS üzerinde yeni kurulum ve yükseltme hatları. | |
Yeniden çalıştırma: rerun_group=cross-os. |
|
| Depo ve canlı E2E | İş: Run repo/live E2E validation |
Destekleyen iş akışı: OpenClaw Live And E2E Checks (Reusable) |
|
Testler: depo E2E, canlı önbellek, OpenAI websocket akışı, yerel canlı sağlayıcı ve Plugin parçaları ve release_profile tarafından seçilen Docker destekli canlı model/backend/gateway koşumları. |
|
Çalışır: run_release_soak=true, release_profile=full veya odaklanmış rerun_group=live-e2e. |
|
Yeniden çalıştırma: isteğe bağlı live_suite_filter ile rerun_group=live-e2e. |
|
| Docker sürüm yolu | İş: Run Docker release-path validation |
Destekleyen iş akışı: OpenClaw Live And E2E Checks (Reusable) |
|
| Testler: paylaşılan paket artefaktına karşı sürüm yolu Docker parçaları. | |
Çalışır: run_release_soak=true, release_profile=full veya odaklanmış rerun_group=live-e2e. |
|
Yeniden çalıştırma: rerun_group=live-e2e. |
|
| Paket Kabulü | İş: Run package acceptance |
Destekleyen iş akışı: Package Acceptance |
|
Testler: çevrimdışı Plugin paket fikstürleri, Plugin güncellemesi, sahte OpenAI Telegram paket kabulü ve aynı tarball karşısında yayımlanmış yükseltmeden sağ çıkma kontrolleri. Engelleyici sürüm kontrolleri varsayılan en son yayımlanmış temeli kullanır; bekletme kontrolleri 2026.4.23 ve sonrasındaki her kararlı npm sürümüne ve bildirilen sorun fikstürlerine genişler. |
|
Yeniden çalıştırma: rerun_group=package. |
|
| QA paritesi | İş: Run QA Lab parity lane ve Run QA Lab parity report |
| Destekleyen iş akışı: doğrudan işler | |
| Testler: aday ve temel agentic parite paketleri, ardından parite raporu. | |
Yeniden çalıştırma: rerun_group=qa-parity veya rerun_group=qa. |
|
| QA canlı Matrix | İş: Run QA Lab live Matrix lane |
| Destekleyen iş akışı: doğrudan iş | |
Testler: qa-live-shared ortamında hızlı canlı Matrix QA profili. |
|
Yeniden çalıştırma: rerun_group=qa-live veya rerun_group=qa. |
|
| QA canlı Telegram | İş: Run QA Lab live Telegram lane |
| Destekleyen iş akışı: doğrudan iş | |
| Testler: Convex CI kimlik bilgisi kiralamalarıyla canlı Telegram QA. | |
Yeniden çalıştırma: rerun_group=qa-live veya rerun_group=qa. |
|
| Sürüm doğrulayıcı | İş: Verify release checks |
| Destekleyen iş akışı: yok | |
| Testler: seçilen yeniden çalıştırma grubu için gerekli sürüm kontrol işleri. | |
| Yeniden çalıştırma: odaklanmış alt işler geçtikten sonra yeniden çalıştırın. |
Docker sürüm yolu parçaları
Docker sürüm yolu aşaması, live_suite_filter boş olduğunda bu parçaları
çalıştırır:
| Parça | Kapsam |
|---|---|
core |
Core Docker sürüm yolu duman testi hatları. |
package-update-openai |
OpenAI paket kurulumu ve güncelleme davranışı. |
package-update-anthropic |
Anthropic paket kurulumu ve güncelleme davranışı. |
package-update-core |
Sağlayıcıdan bağımsız paket ve güncelleme davranışı. |
plugins-runtime-plugins |
Plugin davranışını çalıştıran Plugin çalışma zamanı hatları. |
plugins-runtime-services |
Servis destekli Plugin çalışma zamanı hatları; istendiğinde OpenWebUI içerir. |
plugins-runtime-install-a through plugins-runtime-install-h |
Paralel sürüm doğrulaması için bölünmüş Plugin kurulum/çalışma zamanı partileri. |
Yalnızca bir Docker hattı başarısız olduğunda yeniden kullanılabilir canlı/E2E iş akışında hedefli docker_lanes=<lane[,lane]> kullanın. Sürüm artefaktları, kullanılabilir olduğunda paket artefaktı ve görüntü yeniden kullanım girdileriyle hat başına yeniden çalıştırma komutlarını içerir.
Sürüm profilleri
release_profile, çoğunlukla sürüm kontrolleri içindeki canlı/sağlayıcı genişliğini kontrol eder.
Normal tam CI, Plugin Ön Sürüm, kurulum duman testi, paket kabulü veya QA Lab kapsamını kaldırmaz. stable için kapsamlı depo/canlı E2E ve Docker sürüm yolu parçaları bekletme kapsamıdır ve run_release_soak=true olduğunda çalışır.
full, bekletme kapsamını zorla açar ve ayrıca şemsiye çalıştırmanın rerun_group=all olduğunda üst sürüm paket artefaktına karşı paket Telegram E2E çalıştırmasını sağlar; böylece tam bir yayımlama öncesi aday, bu Telegram paket hattını sessizce atlamaz.
| Profil | Amaçlanan kullanım | Dahil edilen canlı/sağlayıcı kapsamı |
|---|---|---|
minimum |
En hızlı sürüm açısından kritik duman testi. | OpenAI/core canlı yolu, OpenAI için Docker canlı modelleri, yerel gateway core, yerel OpenAI gateway profili, yerel OpenAI Plugin ve Docker canlı gateway OpenAI. |
stable |
Varsayılan sürüm onay profili. | minimum artı Anthropic duman testi, Google, MiniMax, backend, yerel canlı test koşumu, Docker canlı CLI backend, Docker ACP bağlama, Docker Codex koşumu ve bir OpenCode Go duman testi parçası. |
full |
Geniş danışma taraması. | stable artı danışma sağlayıcıları, Plugin canlı parçaları ve medya canlı parçaları. |
Yalnızca full eklemeleri
Bu paketler stable tarafından atlanır ve full tarafından dahil edilir:
| Alan | Yalnızca full kapsamı |
|---|---|
| Docker canlı modeller | OpenCode Go, OpenRouter, xAI, Z.ai ve Fireworks. |
| Docker canlı gateway | DeepSeek/Fireworks, OpenCode Go/OpenRouter ve xAI/Z.ai parçalarına bölünmüş danışma sağlayıcıları. |
| Yerel gateway sağlayıcı profilleri | Tam Anthropic Opus ve Sonnet/Haiku parçaları, Fireworks, DeepSeek, tam OpenCode Go model parçaları, OpenRouter, xAI ve Z.ai. |
| Yerel Plugin canlı parçaları | Plugins A-K, L-N, O-Z diğer, Moonshot ve xAI. |
| Yerel medya canlı parçaları | Audio, Google music, MiniMax music ve video grupları A-D. |
stable, native-live-src-gateway-profiles-anthropic-smoke ve
native-live-src-gateway-profiles-opencode-go-smoke içerir; full bunun yerine daha geniş
Anthropic ve OpenCode Go model parçalarını kullanır. Odaklanmış yeniden çalıştırmalar yine de
toplu native-live-src-gateway-profiles-anthropic veya
native-live-src-gateway-profiles-opencode-go tanıtıcılarını kullanabilir.
Odaklanmış yeniden çalıştırmalar
İlgisiz sürüm kutularını tekrarlamaktan kaçınmak için rerun_group kullanın:
| Handle | Kapsam |
|---|---|
all |
Tüm Tam Sürüm Doğrulaması aşamaları. |
ci |
Yalnızca manuel tam CI alt işi. |
plugin-prerelease |
Yalnızca Plugin Ön Sürüm alt işi. |
release-checks |
Tüm OpenClaw Sürüm Kontrolleri aşamaları. |
install-smoke |
Sürüm kontrollerine kadar Kurulum Smoke. |
cross-os |
İşletim sistemleri arası sürüm kontrolleri. |
live-e2e |
Depo/canlı E2E ve Docker sürüm yolu doğrulaması. |
package |
Paket Kabulü. |
qa |
QA eşdeğerliği ve QA canlı hatları. |
qa-parity |
Yalnızca QA eşdeğerlik hatları ve raporu. |
qa-live |
Yalnızca QA canlı Matrix ve Telegram. |
npm-telegram |
Yayımlanmış paket Telegram E2E; npm_telegram_package_spec gerektirir. |
Bir canlı paket başarısız olduğunda rerun_group=live-e2e ile live_suite_filter kullanın.
Geçerli filtre kimlikleri yeniden kullanılabilir canlı/E2E iş akışında tanımlanır; bunlara
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 ve
live-codex-harness-docker dahildir.
live-gateway-advisory-docker tanıtıcısı, üç sağlayıcı parçası için toplu bir yeniden çalıştırma tanıtıcısıdır; bu nedenle yine de tüm advisory Docker Gateway işlerine yayılır.
Bir işletim sistemleri arası hat başarısız olduğunda rerun_group=cross-os ile cross_os_suite_filter kullanın. Filtre bir OS kimliği, bir paket kimliği veya bir OS/paket çifti kabul eder; örneğin windows/packaged-upgrade, windows veya packaged-fresh. İşletim sistemleri arası özetler, paketlenmiş yükseltme hatları için aşama bazlı süreleri içerir ve uzun süren komutlar Heartbeat satırları yazdırır; böylece takılı kalan bir Windows güncellemesi iş zaman aşımından önce görünür.
QA sürüm kontrol hatları tavsiye niteliğindedir. Yalnızca QA kaynaklı bir hata uyarı olarak raporlanır ve sürüm kontrol doğrulayıcısını engellemez; yeni QA kanıtı gerektiğinde rerun_group=qa, qa-parity veya qa-live yeniden çalıştırın.
Saklanacak Kanıtlar
Full Release Validation özetini sürüm düzeyindeki dizin olarak saklayın. Alt çalışma kimliklerine bağlantı verir ve en yavaş iş tablolarını içerir. Hatalarda önce alt iş akışını inceleyin, ardından yukarıdaki en küçük eşleşen tanıtıcıyı yeniden çalıştırın.
Yararlı yapıtlar:
- Full Release Validation üst işinden ve
OpenClaw Release Checksiçindenrelease-package-under-test .artifacts/docker-tests/altındaki Docker sürüm yolu yapıtları- Package Acceptance
package-under-testve Docker kabul yapıtları - Her OS ve paket için işletim sistemleri arası sürüm kontrol yapıtları
- QA eşdeğerliği, Matrix ve Telegram yapıtları
İş Akışı Dosyaları
.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