11 KiB
11 KiB
| read_when | summary | title | x-i18n | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Herkese açık sürüm kanalları, sürüm adlandırması ve yayın sıklığı | Sürüm Politikası |
|
Sürüm Politikası
OpenClaw'ın herkese açık üç sürüm hattı vardır:
- stable: varsayılan olarak npm
beta'ya veya açıkça istendiğinde npmlatest'e yayımlanan etiketli sürümler - beta: npm
beta'ya yayımlanan ön sürüm etiketleri - dev:
maindalının hareketli ucu
Sürüm adlandırması
- Stable sürüm sürümü:
YYYY.M.D- Git etiketi:
vYYYY.M.D
- Git etiketi:
- Stable düzeltme sürümü sürümü:
YYYY.M.D-N- Git etiketi:
vYYYY.M.D-N
- Git etiketi:
- Beta ön sürüm sürümü:
YYYY.M.D-beta.N- Git etiketi:
vYYYY.M.D-beta.N
- Git etiketi:
- Ayı veya günü başına sıfır eklemeyin
latest, mevcut yükseltilmiş stable npm sürümü anlamına gelirbeta, mevcut beta kurulum hedefi anlamına gelir- Stable ve stable düzeltme sürümleri varsayılan olarak npm
beta'ya yayımlanır; sürüm operatörleri açıkçalatest'i hedefleyebilir veya daha sonra doğrulanmış bir beta derlemesini yükseltebilir - Her OpenClaw sürümü npm paketini ve macOS uygulamasını birlikte gönderir
Sürüm sıklığı
- Sürümler önce beta olarak ilerler
- Stable, yalnızca en son beta doğrulandıktan sonra gelir
- Ayrıntılı sürüm prosedürü, onaylar, kimlik bilgileri ve kurtarma notları yalnızca maintainers içindir
Sürüm ön kontrolü
- Paket doğrulama adımı için beklenen
dist/*sürüm artefaktları ve Control UI paketi mevcut olsun diyepnpm release:checköncesindepnpm build && pnpm ui:buildçalıştırın - Her etiketli sürümden önce
pnpm release:checkçalıştırın - Sürüm kontrolleri artık ayrı bir manuel workflow'da çalışıyor:
OpenClaw Release Checks - Bu ayrım bilinçlidir: gerçek npm sürüm yolunu kısa, deterministik ve artefakt odaklı tutarken, daha yavaş canlı kontroller kendi hattında kalsın ki yayımlamayı geciktirmesin veya engellemesin
- Workflow mantığı ve secret'lar kanonik kalsın diye sürüm
kontrolleri
mainworkflow ref'inden tetiklenmelidir - Bu workflow, mevcut bir sürüm etiketini veya mevcut tam
40 karakterlik
maincommit SHA'sını kabul eder - Commit-SHA modunda yalnızca mevcut
origin/mainHEAD kabul edilir; daha eski sürüm commit'leri için sürüm etiketi kullanın OpenClaw NPM Releaseyalnızca doğrulama amaçlı ön kontrolü de, gönderilmiş bir etiket gerektirmeden mevcut tam 40 karakterlikmaincommit SHA'sını kabul eder- Bu SHA yolu yalnızca doğrulama içindir ve gerçek bir yayıma yükseltilemez
- SHA modunda workflow, paket meta veri kontrolü için yalnızca
v<package.json version>üretir; gerçek yayımlama için yine de gerçek bir sürüm etiketi gerekir - Her iki workflow da gerçek yayımlama ve yükseltme yolunu GitHub-hosted runner'larda tutarken, değiştirmeyen doğrulama yolu daha büyük Blacksmith Linux runner'larını kullanabilir
- Bu workflow,
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cachekomutunu hemOPENAI_API_KEYhem deANTHROPIC_API_KEYworkflow secret'larını kullanarak çalıştırır - npm sürüm ön kontrolü artık ayrı sürüm kontrolleri hattını beklemiyor
- Onaydan önce
RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.tskomutunu (veya eşleşen beta/düzeltme etiketini) çalıştırın - npm yayımlandıktan sonra, yayımlanan registry
kurulum yolunu yeni bir geçici prefix içinde doğrulamak için
node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.Dkomutunu (veya eşleşen beta/düzeltme sürümünü) çalıştırın - Maintainer sürüm otomasyonu artık önce ön kontrol sonra yükseltme kullanıyor:
- gerçek npm yayımlaması başarılı bir npm
preflight_run_idgeçmelidir - stable npm sürümleri varsayılan olarak
beta'dır - stable npm yayımlaması workflow girdisi üzerinden açıkça
latest'i hedefleyebilir - stable npm'yi
beta'danlatest'e yükseltme, güvenilirOpenClaw NPM Releaseworkflow'unda hâlâ açık bir manuel mod olarak kullanılabilir - doğrudan stable yayımlamalar, hem
latesthem debetayı daha önce yayımlanmış stable sürüme yönelten açık bir dist-tag eşitleme modunu da çalıştırabilir - bu dist-tag modları yine de
npm-releaseortamında geçerli birNPM_TOKENgerektirir çünkü npmdist-tagyönetimi güvenilir yayımlamadan ayrıdır - herkese açık
macOS Releaseyalnızca doğrulama içindir - gerçek özel mac yayımlaması başarılı özel mac
preflight_run_idvevalidate_run_idgeçmelidir - gerçek yayımlama yolları, artefaktları yeniden derlemek yerine hazırlanmış artefaktları yükseltir
- gerçek npm yayımlaması başarılı bir npm
YYYY.M.D-Ngibi stable düzeltme sürümlerinde, yayımlama sonrası doğrulayıcı aynı zamandaYYYY.M.D'denYYYY.M.D-N'e aynı geçici prefix yükseltme yolunu da kontrol eder; böylece sürüm düzeltmeleri eski global kurulumları sessizce temel stable payload üzerinde bırakamaz- npm sürüm ön kontrolü, tarball hem
dist/control-ui/index.htmlhem de boş olmayan birdist/control-ui/assets/payload'u içermedikçe kapalı şekilde başarısız olur; böylece yeniden boş bir tarayıcı panosu göndermeyiz - Sürüm çalışması CI planlamasına, eklenti zamanlama manifest'lerine veya
eklenti test matrislerine dokunduysa, onaydan önce
.github/workflows/ci.ymliçindeki planner sahipliğindekichecks-node-extensionsworkflow matris çıktılarını yeniden üretin ve gözden geçirin; böylece sürüm notları eski bir CI düzenini açıklamaz - Stable macOS sürüm hazırlığı, güncelleyici yüzeylerini de içerir:
- GitHub sürümünde paketlenmiş
.zip,.dmgve.dSYM.zipbulunmalıdır mainüzerindekiappcast.xml, yayımlamadan sonra yeni stable zip'i göstermelidir- paketlenmiş uygulama, debug olmayan bir bundle id, boş olmayan bir Sparkle feed
URL'si ve bu sürüm sürümü için kanonik Sparkle derleme tabanına eşit veya ondan yüksek bir
CFBundleVersionkorumalıdır
- GitHub sürümünde paketlenmiş
NPM workflow girdileri
OpenClaw NPM Release şu operatör kontrollü girdileri kabul eder:
tag:v2026.4.2,v2026.4.2-1veyav2026.4.2-beta.1gibi gerekli sürüm etiketi;preflight_only=trueolduğunda, yalnızca doğrulama amaçlı ön kontrol için mevcut tam 40 karakterlikmaincommit SHA'sı da olabilirpreflight_only: yalnızca doğrulama/derleme/paket içintrue, gerçek yayımlama yolu içinfalsepreflight_run_id: gerçek yayımlama yolunda zorunludur; böylece workflow başarılı ön kontrol çalışmasından hazırlanmış tarball'u yeniden kullanırnpm_dist_tag: yayımlama yolu için npm hedef etiketi; varsayılan olarakbetapromote_beta_to_latest: yayımlamayı atlayıp daha önce yayımlanmış bir stablebetaderlemesinilatestüzerine taşımak içintruesync_stable_dist_tags: yayımlamayı atlayıp hemlatesthem debetayı daha önce yayımlanmış bir stable sürüme yöneltmek içintrue
OpenClaw Release Checks şu operatör kontrollü girdileri kabul eder:
ref: doğrulanacak mevcut sürüm etiketi veya mevcut tam 40 karakterlikmaincommit SHA'sı
Kurallar:
- Stable ve düzeltme etiketleri
betaveyalatest'e yayımlanabilir - Beta ön sürüm etiketleri yalnızca
beta'ya yayımlanabilir - Tam commit SHA girdisine yalnızca
preflight_only=trueolduğunda izin verilir - Sürüm kontrolleri commit-SHA modu ayrıca mevcut
origin/mainHEAD gerektirir - Gerçek yayımlama yolu, ön kontrolde kullanılan aynı
npm_dist_tagdeğerini kullanmalıdır; workflow yayımlama devam etmeden önce bu meta veriyi doğrular - Yükseltme modu, stable veya düzeltme etiketi,
preflight_only=false, boş birpreflight_run_idvenpm_dist_tag=betakullanmalıdır - Dist-tag eşitleme modu, stable veya düzeltme etiketi,
preflight_only=false, boş birpreflight_run_id,npm_dist_tag=latestvepromote_beta_to_latest=falsekullanmalıdır - Yükseltme ve dist-tag eşitleme modları da geçerli bir
NPM_TOKENgerektirir çünkünpm dist-tag addhâlâ normal npm kimlik doğrulaması ister; güvenilir yayımlama yalnızca paket yayımlama yolunu kapsar
Stable npm sürüm sırası
Stable bir npm sürümü çıkarırken:
OpenClaw NPM Releasekomutunupreflight_only=trueile çalıştırın- Bir etiket henüz yokken, ön kontrol workflow'unun yalnızca doğrulama amaçlı kuru çalıştırması için mevcut tam
maincommit SHA'sını kullanabilirsiniz
- Bir etiket henüz yokken, ön kontrol workflow'unun yalnızca doğrulama amaçlı kuru çalıştırması için mevcut tam
- Normal beta öncelikli akış için
npm_dist_tag=beta, yalnızca bilerek doğrudan stable yayımlama istediğinizdelatestseçin - Canlı prompt cache kapsamı istediğinizde
OpenClaw Release Checks'i aynı etiketle veya mevcut tammaincommit SHA'sıyla ayrı olarak çalıştırın- Bu bilinçli olarak ayrıdır; böylece canlı kapsam, uzun süren veya kararsız kontrolleri yayımlama workflow'una yeniden bağlamadan kullanılabilir kalır
- Başarılı
preflight_run_iddeğerini kaydedin OpenClaw NPM Releasekomutunu tekrarpreflight_only=false, aynıtag, aynınpm_dist_tagve kaydedilmişpreflight_run_idile çalıştırın- Sürüm
betaüzerinde yayımlandıysa, daha sonra bu yayımlanmış derlemeyilatest'e taşımak istediğinizdeOpenClaw NPM Release'i aynı stabletag,promote_beta_to_latest=true,preflight_only=false, boşpreflight_run_idvenpm_dist_tag=betaile çalıştırın - Sürüm bilerek doğrudan
latest'e yayımlandıysa vebetaaynı stable derlemeyi izlemeliyse,OpenClaw NPM Release'i aynı stabletag,sync_stable_dist_tags=true,promote_beta_to_latest=false,preflight_only=false, boşpreflight_run_idvenpm_dist_tag=latestile çalıştırın
Yükseltme ve dist-tag eşitleme modları yine de npm-release
ortamı onayı ve bu workflow çalışmasına erişilebilir geçerli bir NPM_TOKEN gerektirir.
Bu, hem doğrudan yayımlama yolunu hem de beta öncelikli yükseltme yolunu belgelenmiş ve operatör tarafından görünür tutar.
Herkese açık referanslar
.github/workflows/openclaw-npm-release.yml.github/workflows/openclaw-release-checks.ymlscripts/openclaw-npm-release-check.tsscripts/package-mac-dist.shscripts/make_appcast.sh
Maintainers, gerçek runbook için
openclaw/maintainers/release/README.md
içindeki özel sürüm belgelerini kullanır.