Bu, güncelleme ve Plugin doğrulaması için ayrılmış kontrol listesidir. Hedef basittir: kurulabilir paketin gerçek kullanıcı durumunu güncelleyebildiğini, eskimiş eski durumuDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
doctor üzerinden onarabildiğini ve desteklenen
kaynaklardan Plugin kurma, yükleme, güncelleme ve kaldırma işlemlerini hâlâ
yapabildiğini kanıtlamak.
Daha geniş test çalıştırıcı haritası için Test Etme bölümüne bakın. Canlı sağlayıcı
anahtarları ve ağa dokunan paketler için Canlı test etme bölümüne bakın.
Neyi koruyoruz
Güncelleme ve Plugin testleri şu sözleşmeleri korur:- Bir paket tarball’ı eksiksizdir, geçerli bir
dist/postinstall-inventory.jsoniçerir ve açılmamış depo dosyalarına bağımlı değildir. - Bir kullanıcı, yapılandırmayı, aracıları, oturumları, çalışma alanlarını, Plugin izin listelerini veya kanal yapılandırmasını kaybetmeden daha eski yayımlanmış bir paketten aday pakete geçebilir.
openclaw doctor --fix --non-interactive, eski temizlik ve onarım yollarının sahibidir. Başlatma, eskimiş Plugin durumu için gizli uyumluluk migration’ları büyütmemelidir.- Plugin kurulumları yerel dizinlerden, git depolarından, npm paketlerinden ve ClawHub kayıt yolu üzerinden çalışır.
- Plugin npm bağımlılıkları yönetilen npm köküne kurulur, güven öncesinde taranır ve kaldırma sırasında npm üzerinden kaldırılır; böylece hoist edilmiş bağımlılıklar kalmaz.
- Hiçbir şey değişmediğinde Plugin güncellemesi kararlıdır: kurulum kayıtları, çözümlenen kaynak, kurulu bağımlılık düzeni ve etkin durum bozulmadan kalır.
Geliştirme sırasında yerel kanıt
Dar kapsamla başlayın:release:check, yapılandırma/dokümantasyon/API drift kontrollerini çalıştırır,
paket dist envanterini yazar, npm pack --dry-run çalıştırır, paketlenmesi
yasak dosyaları reddeder, tarball’ı geçici bir prefix’e kurar, postinstall
çalıştırır ve paketli kanal giriş noktalarını duman testinden geçirir.
Docker hatları
Docker hatları ürün düzeyi kanıttır. Linux container’ları içinde gerçek bir paketi kurar veya günceller ve davranışı CLI komutları, Gateway başlatma, HTTP probe’ları, RPC durumu ve dosya sistemi durumu üzerinden doğrular. Yinelerken odaklı hatları kullanın:test:docker:plugins, Plugin kurulum duman testini, yerel klasör kurulumlarını, yerel klasör güncelleme atlama davranışını, önceden kurulu bağımlılıkları olan yerel klasörleri,file:paket kurulumlarını, CLI yürütmeli git kurulumlarını, git hareketli referans güncellemelerini, hoist edilmiş geçişli bağımlılıkları olan npm kayıt kurulumlarını, npm güncelleme no-op’larını, yerel ClawHub fixture kurulumlarını ve güncelleme no-op’larını, marketplace güncelleme davranışını ve Claude paketi etkinleştirme/incelemeyi doğrular. ClawHub bloğunu hermetik/çevrimdışı tutmak içinOPENCLAW_PLUGINS_E2E_CLAWHUB=0ayarlayın.test:docker:plugin-update, değişmemiş kurulu bir Plugin’inopenclaw plugins updatesırasında yeniden kurulmadığını veya kurulum metadata’sını kaybetmediğini doğrular.test:docker:upgrade-survivor, aday tarball’ı kirli bir eski kullanıcı fixture’ının üzerine kurar, paket güncellemesini ve etkileşimsiz doctor’ı çalıştırır, ardından bir loopback Gateway başlatır ve durum korumasını kontrol eder.test:docker:published-upgrade-survivorönce yayımlanmış bir baseline kurar, bunu hazırlanmış biropenclaw config settarifiyle yapılandırır, aday tarball’a günceller, doctor çalıştırır, eski temizliği kontrol eder, Gateway’i başlatır ve/healthz,/readyzile RPC durumunu probe eder.test:docker:update-migration, temizlik ağırlıklı yayımlanmış güncelleme hattıdır. Yapılandırılmış Discord/Telegram tarzı kullanıcı durumundan başlar, yapılandırılmış Plugin bağımlılıklarının oluşma şansı olması için baseline doctor’ı çalıştırır, yapılandırılmış paketli bir Plugin için eski Plugin bağımlılık kalıntılarını yerleştirir, aday tarball’a günceller ve güncelleme sonrası doctor’ın eski bağımlılık köklerini kaldırmasını şart koşar.
base, feishu-channel, bootstrap-persona,
plugin-deps-cleanup, tilde-log-path ve versioned-runtime-deps şeklindedir. Toplu çalıştırmalarda,
OPENCLAW_UPGRADE_SURVIVOR_SCENARIOS=reported-issues bildirilen tüm
sorun biçimli senaryolara genişler.
Tam güncelleme migration’ı, Full Release CI’dan bilinçli olarak ayrıdır. Yayın
sorusu “2026.4.23 ve sonrasındaki her yayımlanmış kararlı sürüm bu adaya
güncellenebilir ve Plugin bağımlılık kalıntılarını temizleyebilir mi?” olduğunda
manuel Update Migration workflow’unu kullanın:
Paket Kabulü
Paket Kabulü, GitHub yerel paket kapısıdır. Bir aday paketipackage-under-test tarball’ına çözümler, sürüm ve SHA-256 kaydeder, ardından
bu kesin tarball’a karşı yeniden kullanılabilir Docker E2E hatlarını çalıştırır.
Workflow harness ref’i paket kaynak ref’inden ayrıdır; bu sayede güncel test
mantığı daha eski güvenilir sürümleri doğrulayabilir.
Aday kaynakları:
source=npm:openclaw@beta,openclaw@latestveya kesin bir yayımlanmış sürümü doğrulayın.source=ref: seçilen güncel harness ile güvenilir bir branch, tag veya commit’i paketleyin.source=url: gereklipackage_sha256ile bir HTTPS tarball’ını doğrulayın.source=artifact: başka bir Actions çalıştırması tarafından yüklenmiş bir tarball’ı yeniden kullanın.
release-history, sınırlı bir yayın kontrolü örneğidir: son altı kararlı sürüm,
2026.4.23 ve daha eski bir tarih öncesi çapa. Kapsamlı yayımlanmış güncelleme
migration kapsamı için Full Release CI yerine ayrı Update Migration workflow’unda
all-since-2026.4.23 kullanın.
Yayın öncesinde bir adayı doğrularken paket profilini manuel çalıştırın:
suite_profile=product kullanın. Yalnızca tam
Docker yayın yolu kapsamına ihtiyacınız olduğunda suite_profile=full kullanın.
Yayın varsayılanı
Yayın adayları için varsayılan kanıt yığını şudur:- Kaynak düzeyi regresyonlar için
pnpm check:changedvepnpm test:changed. - Paket yapıtı bütünlüğü için
pnpm release:check. - Kurulum/güncelleme/Plugin sözleşmeleri için Paket Kabulü
packageprofili veya yayın kontrolü özel paket hatları. - İşletim sistemine özgü kurulum, onboarding ve platform davranışı için çapraz işletim sistemi yayın kontrolleri.
- Canlı paketler yalnızca değişen yüzey sağlayıcı veya barındırılan servis davranışına dokunduğunda.
Eski uyumluluk
Uyumluluk toleransı dar ve zaman sınırlıdır:2026.4.25dahil olmak üzere2026.4.25-beta.*sürümlerine kadar paketler, Paket Kabulü’nde zaten yayımlanmış paket metadata boşluklarını tolere edebilir.- Yayımlanmış
2026.4.26paketi, zaten yayımlanmış yerel build metadata stamp dosyaları için uyarı verebilir. - Daha sonraki paketler modern sözleşmeleri karşılamalıdır. Aynı boşluklar uyarı veya atlama yerine başarısız olur.
upgrade-survivor veya
published-upgrade-survivor ile kanıtlayın.
Kapsam ekleme
Güncelleme veya Plugin davranışını değiştirirken, doğru nedenle başarısız olabilecek en düşük katmanda kapsam ekleyin:- Saf yol veya metadata mantığı: kaynağın yanında unit test.
- Paket envanteri veya paketlenmiş dosya davranışı:
package-dist-inventoryveya tarball denetleyici testi. - CLI kurulum/güncelleme davranışı: Docker hattı assertion’ı veya fixture.
- Yayımlanmış sürüm migration davranışı:
published-upgrade-survivorsenaryosu. - Kayıt/paket kaynağı davranışı:
test:docker:pluginsfixture’ı veya ClawHub fixture sunucusu. - Bağımlılık düzeni veya temizlik davranışı: hem runtime yürütmeyi hem de dosya
sistemi sınırını doğrulayın. npm bağımlılıkları yönetilen npm kökü altında
hoist edilebilir; bu yüzden testler paket yerel bir
node_modulesağacı varsaymak yerine kökün tarandığını/temizlendiğini kanıtlamalıdır.
Hata triyajı
Yapıt kimliğiyle başlayın:- Paket Kabulü
resolve_packageözeti: kaynak, sürüm, SHA-256 ve yapıt adı. - Docker yapıtları:
.artifacts/docker-tests/**/summary.json,failures.json, hat logları ve yeniden çalıştırma komutları. - Upgrade survivor özeti:
.artifacts/upgrade-survivor/summary.json; baseline sürümü, aday sürüm, senaryo, aşama süreleri ve tarif adımları dahil.