Release process

اعتبارسنجی کامل انتشار

Full Release Validation چتر اعتبارسنجی محصول برای انتشار است. بیشتر کارها در گردش‌کارهای فرزند انجام می‌شود تا بتوان یک ماشین ناموفق را بدون راه‌اندازی مجدد کل انتشار دوباره اجرا کرد. آماده‌سازی انتشار را پیش از تثبیت Code SHA اجرا کنید؛ این کار خروجی زبان‌های Control UI را، وقتی ربات پس‌زمینه هنوز آن را ادغام نکرده است، به‌روزرسانی می‌کند و سپس همان بررسی سخت‌گیرانه بدون fallback را که CI انتشار استفاده می‌کند، اعمال می‌کند.

کامیت کامل محصول پیش از changelog را به‌عنوان Code SHA تثبیت کنید، سپس اجرا کنید:

bash
pnpm ci:full-release \  --sha <code-sha> \  --target-ref release/YYYY.M.PATCH

provider همچنین برای راه‌اندازی اولیه میان‌سیستم‌عاملی و نوبت سرتاسری عامل، anthropic یا minimax را می‌پذیرد. ابزار کمکی، پروفایل beta را از نسخه‌های بسته alpha/beta و در غیر این صورت stable را استنتاج می‌کند. ورودی‌های جایگزین گردش‌کار را با -f key=value ارسال کنید؛ از -f release_profile=full فقط برای پیمایش گسترده هشدارها استفاده کنید.

ابزار کمکی یک ref موقت release-ci/* ایجاد می‌کند که به یک SHA مورداعتماد گردش‌کار origin/main سنجاق شده است، SHA هدف را فقط به‌عنوان ref نامزد ارسال می‌کند و پس از اعتبارسنجی، ref موقت را حذف می‌کند. هر فرزند اعزام‌شده باید همان SHA گردش‌کار را گزارش کند. برای اجبار اجرای تازه، -f reuse_evidence=false را ارسال کنید یا برای انتخاب یک کامیت قدیمی‌تر گردش‌کار که همچنان از origin/main فعلی قابل‌دسترسی است، --workflow-sha <trusted-main-sha> را ارسال کنید. خود گردش‌کار هرگز refهای مخزن را ایجاد یا به‌روزرسانی نمی‌کند.

استثنای extended-stable

انتشار extended-stable به اجرایی نیاز دارد که گردش‌کار و هدف آن هر دو شاخه canonical باشند:

bash
gh workflow run full-release-validation.yml \  --ref extended-stable/YYYY.M.33 \  -f ref=extended-stable/YYYY.M.33 \  -f release_profile=stable

از pnpm ci:full-release یا release-ci/* استفاده نکنید. انتشار، شاخه، SHA سر/هدف، workflowRef مانیفست، شناسه و تلاش اجرا را به شاخه canonical و کامیت انتشار مقید می‌کند.

شکست‌های محصول را backport کنید؛ برای ابزارهای هدف تثبیت‌شده، کوچک‌ترین ترمیم حافظ رفتار را انجام دهید؛ شکست‌های ارائه‌دهنده، تأیید یا اجراکننده را بدون تغییر منبع دوباره امتحان کنید. هر تغییر شاخه به یک اجرای کاملاً جدید نیاز دارد. بسته، نصب‌کننده، به‌روزرسانی، کانال یا رفتار زنده الزامی را به‌دلیل قدیمی‌بودن هدف حذف نکنید.

برای یک انتشار معمولی، وقتی Code SHA سبز شد، فقط CHANGELOG.md را تولید و کامیت کنید. این کامیت جدید Release SHA است. همان ابزار کمکی را برای Release SHA اجرا کنید. شواهد محصول فقط زمانی دوباره استفاده می‌شوند که GitHub ثابت کند Release SHA از Code SHA منشعب شده و مجموعه کامل مسیرهای تغییریافته دقیقاً CHANGELOG.md است؛ پیش‌بررسی npm و پذیرش بسته/نصب همچنان روی Release SHA اجرا می‌شوند.

release_profile=stable و release_profile=full همیشه soak جامع زنده/Docker را اجرا می‌کنند. برای گنجاندن همان مسیرهای soak با پروفایل beta، مقدار run_release_soak=true را ارسال کنید. انتشار stable، مانیفست اعتبارسنجی فاقد این soak و شواهد مسدودکننده عملکرد محصول را رد می‌کند.

Package Acceptance معمولاً tarball نامزد را از ref حل‌شده می‌سازد؛ از جمله اجراهای SHA کامل که با pnpm ci:full-release اعزام شده‌اند. پس از انتشار beta، برای استفاده مجدد از بسته npm منتشرشده در بررسی‌های انتشار، Package Acceptance، میان‌سیستم‌عاملی، Docker مسیر انتشار و Telegram بسته، release_package_spec=openclaw@YYYY.M.PATCH-beta.N را ارسال کنید. فقط زمانی از package_acceptance_package_spec استفاده کنید که Package Acceptance باید عمداً بسته متفاوتی را اثبات کند. مسیر بسته زنده Plugin مربوط به Codex از همان وضعیت پیروی می‌کند: مقادیر منتشرشده release_package_spec، مقدار codex_plugin_spec=npm:@openclaw/codex@<version> را استخراج می‌کنند؛ اجراهای SHA/مصنوع، extensions/codex را از ref انتخاب‌شده بسته‌بندی می‌کنند؛ و اپراتورها می‌توانند برای منابع Plugin از نوع npm:، npm-pack: یا git:، codex_plugin_spec را مستقیماً تنظیم کنند. این مسیر، تأیید صریح نصب Codex CLI را که آن Plugin نیاز دارد اعطا می‌کند، سپس پیش‌بررسی Codex CLI و نوبت‌های عامل OpenAI در همان نشست را اجرا می‌کند. نوبت نهایی آن با صفر تلاش مجدد و تفکر متوسط، پیشرفت قابل‌مشاهده را با حذف final مربوط به Codex ارسال می‌کند، ورودی‌های تصادفی فضای کاری را می‌خواند، مصنوع دقیق آن‌ها را می‌نویسد و تکمیل صریح را ارسال می‌کند. این کار رگرسیون v2026.7.1 را شناسایی می‌کند که در آن یک ارسال عادی پیشرفت، نوبت را خاتمه می‌داد.

مراحل سطح بالا

برای rerun_group=all، ابتدا یک کار Check for reusable validation evidence اجرا می‌شود. این کار جدیدترین اعتبارسنجی کامل سبز قبلی را با همان پروفایل انتشار، تنظیم مؤثر soak و ورودی‌های اعتبارسنجی جست‌وجو می‌کند. اجرای مجدد دقیق همان هدف از exact-target-full-validation-v1 استفاده می‌کند. یک نواده که اختلاف کامل آن دقیقاً CHANGELOG.md است، از changelog-only-release-v1 استفاده می‌کند؛ تمام مسیرهای محصول رد می‌شوند و اعتبارسنج به‌طور مستقل مقایسه کامیت GitHub، مصنوع تغییرناپذیر والد، اجراهای فرزند و گزارش‌های اعزام را دوباره بررسی می‌کند. هر تغییر دیگر هدف به اعتبارسنجی تازه Code SHA نیاز دارد. برای اجبار اجرای کامل تازه، reuse_evidence=false را ارسال کنید. استفاده مجدد از شواهد فقط از main یا یک ref canonical سنجاق‌شده به SHA از نوع release-ci/* اجرا می‌شود که کامیت گردش‌کار آن در تبار مورداعتماد main باقی مانده باشد؛ سایر refهای گردش‌کار، مسیرهای انتخاب‌شده را از نو اجرا می‌کنند.

اعتبارسنجی تازه مرتبط با بسته، پیش از اعزام Plugin Prerelease و OpenClaw Release Checks، یک tarball تغییرناپذیر به‌همراه یک مصنوع image مربوط به Docker آماده می‌کند. هر دو فرزند پیش از استفاده، همان SHA بسته، شناسه‌های مصنوع، digestهای سرویس، تلاش اجرای تولیدکننده و digest آرشیو Docker را تأیید می‌کنند. لایه مستقل از بسته در Docker خام از cache مبتنی بر محتوای GHCR استفاده می‌کند؛ imageهای مختص نامزد به‌صورت مصنوعات تغییرناپذیر GitHub باقی می‌مانند. اجراهای متمرکز با مشخصات صریح بسته منتشرشده، مسیر بسته موجود را حفظ می‌کنند.

همچنین برای rerun_group=all، یک کار Verify Docker runtime image assets هدف Docker با نام runtime-assets را با OPENCLAW_EXTENSIONS=diagnostics-otel,codex می‌سازد. این کار به‌موازات سایر مراحل اجرا می‌شود و اعتبارسنج چتر آن را الزام می‌کند؛ مسیرها دیگر پیش از اعزام منتظر آن نمی‌مانند. یک rerun_group محدودتر، این پیش‌بررسی را رد می‌کند.

مرحله جزئیات
تفکیک هدف کار: Resolve target ref
گردش‌کار فرزند: ندارد
اثبات می‌کند: شاخه انتشار، tag یا SHA کامل کامیت را تفکیک و ورودی‌های انتخاب‌شده را ثبت می‌کند.
اجرای مجدد: اگر این مرحله شکست خورد، چتر را دوباره اجرا کنید.
نامزد مشترک کار: Prepare shared release candidate
گردش‌کار فرزند: OpenClaw Live And E2E Checks (Reusable)
اثبات می‌کند: یک بسته با SHA دقیق را بسته‌بندی و اعتبارسنجی می‌کند، یک image کاربردی Docker می‌سازد و تاپل‌های تغییرناپذیر مصنوعات بسته و image را برای هر دو گردش‌کار فرزند مرتبط با بسته ثبت می‌کند.
اجرای مجدد: گروه متأثر بسته، plugin-prerelease، میان‌سیستم‌عاملی یا زنده/E2E را دوباره اجرا کنید.
پیش‌بررسی دارایی‌های Docker کار: Verify Docker runtime image assets
گردش‌کار فرزند: ندارد
اثبات می‌کند: هدف ساخت Docker با نام runtime-assets همچنان پیش از اعزام هر مرحله دیگر با موفقیت انجام می‌شود. فقط برای rerun_group=all اجرا می‌شود.
اجرای مجدد: چتر را با rerun_group=all دوباره اجرا کنید.
Vitest و CI عادی کار: Run normal full CI
گردش‌کار فرزند: CI
اثبات می‌کند: گراف کامل CI دستی را در برابر ref هدف اجرا می‌کند؛ شامل مسیرهای Linux Node، shardهای Plugin همراه، shardهای قرارداد Plugin و کانال، سازگاری Node 22، check-*، check-additional-*، بررسی‌های smoke مصنوعات ساخته‌شده، بررسی‌های مستندات، Skills مربوط به Python، Windows، macOS، i18n مربوط به Control UI و Android از طریق چتر.
اجرای مجدد: rerun_group=ci.
پیش‌انتشار Plugin کار: Run plugin prerelease validation
گردش‌کار فرزند: Plugin Prerelease
اثبات می‌کند: بررسی‌های ایستای ویژه انتشار برای Plugin، پوشش عاملی Plugin، تمام shardهای دسته‌ای Plugin، مسیرهای Docker پیش‌انتشار Plugin و یک مصنوع غیرمسدودکننده plugin-inspector-advisory برای تریاژ سازگاری.
اجرای مجدد: rerun_group=plugin-prerelease.
بررسی‌های انتشار کار: Run release/live/Docker/QA validation
گردش‌کار فرزند: OpenClaw Release Checks
اثبات می‌کند: smoke نصب، بررسی‌های میان‌سیستم‌عاملی بسته، Package Acceptance، هم‌ارزی QA Lab، Matrix و Telegram زنده، به‌همراه مسیرهای هشدار Discord، WhatsApp و Slack که پشت gate قرار دارند. پروفایل‌های stable و کامل همچنین مجموعه‌های جامع زنده/E2E و بخش‌های مسیر انتشار Docker را اجرا می‌کنند؛ beta می‌تواند با run_release_soak=true آن را فعال کند.
اجرای مجدد: rerun_group=release-checks یا یک handle محدودتر برای بررسی‌های انتشار.
Telegram بسته کار: Run package Telegram E2E
گردش‌کار فرزند: NPM Telegram Beta E2E
اثبات می‌کند: وقتی release_package_spec یا npm_telegram_package_spec تنظیم شده باشد، یک E2E متمرکز Telegram برای بسته منتشرشده اجرا می‌کند. اعتبارسنجی کامل نامزد به‌جای آن از E2E canonical مربوط به Telegram در Package Acceptance استفاده می‌کند.
اجرای مجدد: rerun_group=npm-telegram با release_package_spec یا npm_telegram_package_spec.
عملکرد محصول کار: Run product performance evidence
گردش‌کار فرزند: OpenClaw Performance
اثبات می‌کند: اجرای عملکرد پروفایل انتشار (profile=release، repeat=3، fail_on_regression=true، publish_reports=false) در برابر SHA هدف. خروجی Kova در مصنوعات گردش‌کار باقی می‌ماند و فرزند باید اثبات کند که ناشر گزارش آن رد شده است. فقط برای rerun_group=all یا rerun_group=performance الزامی (مسدودکننده) است؛ برای گروه‌های اجرای مجدد محدودتر الزامی نیست.
اجرای مجدد: rerun_group=performance.
اعتبارسنج چتر کار: Verify full validation
گردش‌کار فرزند: ندارد
اثبات می‌کند: نتیجه‌های ثبت‌شده اجرای فرزند را دوباره بررسی می‌کند و جدول‌های کندترین کارها را از گردش‌کارهای فرزند می‌افزاید.
اجرای مجدد: پس از اجرای مجدد یک فرزند ناموفق تا رسیدن به وضعیت سبز، فقط این کار را دوباره اجرا کنید.

چتر همیشه عملکرد محصول را در حالت فقط‌مصنوع اعزام می‌کند. OpenClaw Performance انتشار گزارش را فقط برای اجراهای زمان‌بندی‌شده یا اعزام دستی‌ای مجاز می‌کند که صراحتاً publish_reports=true را تنظیم کرده باشد. محافظ حالت فقط‌مصنوع باید با موفقیت تکمیل شود و اثبات کند که کار ناشر همچنان رد شده است. شواهد تازه و استفاده‌شده مجدد، controls.performanceReportPublication=artifact-only را ثبت می‌کنند؛ اعتبارسنج و انتخابگر استفاده مجدد، شواهد فاقد اثبات متناظر و نرمال‌شده فرزند عملکرد را رد می‌کنند.

تأییدکننده مانیفست مرجع را به‌صورت full-release-validation-<run-id>-<run-attempt> بارگذاری می‌کند. ابزار شواهد، شناسه آرتیفکت، چکیده، اجرای تولیدکننده و تلاش آن را پیش از دانلود دقیقاً همان شناسه آرتیفکت اعتبارسنجی می‌کند. این ابزار اندازه ZIP دانلودشده را محدود می‌کند، بایت‌های آن را با چکیده REST sha256: تطبیق می‌دهد و تنها ورودی مجاز و دارای اندازه محدود مانیفست را بدون استخراج آرشیو به‌صورت جریانی می‌خواند. یک نام مستعار با نام پایدار موقتاً برای مصرف‌کنندگان قدیمی‌تر انتشار باقی می‌ماند. تأییدکننده همیشه آرتیفکت مقید به تلاش را ترجیح می‌دهد؛ در دوره گذار، نام پایدار را فقط برای تولیدکننده مانیفست v2 در تلاش 1 می‌پذیرد. این نام قدیمی را برای تلاش‌های بعدی و مانیفست v3 رد می‌کند.

برای ref=main همراه با rerun_group=all، برای ارجاع‌های release/* و برای ارجاع‌های آلفای Tideclaw، یک اجرای چتری جدیدتر جایگزین اجرای قدیمی‌تر با همان ارجاع و گروه اجرای مجدد می‌شود. وقتی والد لغو شود، پایشگر آن هر گردش‌کار فرزندی را که پیش‌تر راه‌اندازی کرده است لغو می‌کند. اجراهای اعتبارسنجی برچسب و SHA سنجاق‌شده یکدیگر را لغو نمی‌کنند.

مراحل بررسی انتشار

OpenClaw Release Checks بزرگ‌ترین گردش‌کار فرزند است. هدف را یک‌بار تفکیک می‌کند و در صورت وجود، آرتیفکت بسته مشترک اجرای چتری را اعتبارسنجی می‌کند. یک راه‌اندازی مستقیم یا متمرکز، هرگاه مراحل مرتبط با بسته یا Docker به آن نیاز داشته باشند، آرتیفکت release-package-under-test خود را آماده می‌کند.

مرحله جزئیات
هدف انتشار کار: Resolve target ref
گردش‌کار پشتیبان: ندارد
آزمون‌ها: ارجاع انتخاب‌شده، SHA مورد انتظار اختیاری، نمایه، گروه اجرای مجدد و فیلتر مجموعه زنده متمرکز.
اجرای مجدد: rerun_group=release-checks.
آرتیفکت بسته کار: Prepare release package artifact
گردش‌کار پشتیبان: ندارد
آزمون‌ها: چندتایی تغییرناپذیر بسته اجرای چتری را اعتبارسنجی می‌کند، یا برای یک راه‌اندازی مستقیم/متمرکز بررسی‌های انتشار یک tarball نامزد بسته‌بندی می‌کند و سپس آن را در اختیار بررسی‌های پایین‌دستی مرتبط با بسته قرار می‌دهد.
اجرای مجدد: گروه بسته، چندسیستم‌عاملی یا زنده/E2E تحت تأثیر.
آزمون دود نصب کار: Run install smoke
گردش‌کار پشتیبان: Install Smoke
آزمون‌ها: مسیر کامل نصب با استفاده مجدد از تصویر دود Dockerfile ریشه، نصب بسته QR، آزمون‌های دود Docker ریشه و Gateway، آزمون‌های Docker نصب‌کننده و آزمون دود ارائه‌دهنده تصویر برای نصب سراسری Bun.
اجرای مجدد: rerun_group=install-smoke.
چندسیستم‌عاملی کار: cross_os_release_checks
گردش‌کار پشتیبان: OpenClaw Cross-OS Release Checks (Reusable)
آزمون‌ها: مسیرهای نصب تازه و ارتقا روی Linux، Windows و macOS برای ارائه‌دهنده و حالت انتخاب‌شده، با استفاده از tarball نامزد به‌همراه یک بسته مبنا.
اجرای مجدد: rerun_group=cross-os.
E2E مخزن و زنده کار: Run repo/live E2E validation
گردش‌کار پشتیبان: OpenClaw Live And E2E Checks (Reusable)
آزمون‌ها: E2E مخزن، کش زنده، پخش جریانی websocket ‏OpenAI، شاردهای ارائه‌دهنده زنده بومی و Plugin، و چارچوب‌های زنده مدل/بک‌اند/Gateway مبتنی بر Docker که با release_profile انتخاب می‌شوند.
اجراها: run_release_soak=true، release_profile=full یا rerun_group=live-e2e متمرکز.
اجرای مجدد: rerun_group=live-e2e، به‌صورت اختیاری همراه با live_suite_filter.
مسیر انتشار Docker کار: Run Docker release-path validation
گردش‌کار پشتیبان: OpenClaw Live And E2E Checks (Reusable)
آزمون‌ها: بخش‌های Docker مسیر انتشار در برابر آرتیفکت بسته مشترک.
اجراها: run_release_soak=true، release_profile=full یا rerun_group=live-e2e متمرکز.
اجرای مجدد: rerun_group=live-e2e.
پذیرش بسته کار: Run package acceptance
گردش‌کار پشتیبان: Package Acceptance
آزمون‌ها: فیکسچرهای آفلاین بسته Plugin، به‌روزرسانی Plugin، آزمون E2E مرجع بسته Telegram با OpenAI ساختگی و بررسی‌های بقای ارتقا از نسخه منتشرشده در برابر همان tarball. بررسی‌های مسدودکننده انتشار از آخرین مبنای منتشرشده پیش‌فرض استفاده می‌کنند؛ بررسی‌های ماندگاری (run_release_soak=true) دامنه را به 4 انتشار پایدار اخیر npm به‌علاوه 3 نسخه تاریخی سنجاق‌شده (2026.4.23، 2026.5.2، 2026.4.15) گسترش می‌دهند و در برابر فیکسچرهای ارتقای مشکلات گزارش‌شده اجرا می‌شوند.
اجرای مجدد: rerun_group=package.
کارت امتیاز بلوغ کار: Render maturity scorecard release docs
گردش‌کار پشتیبان: maturity-scorecard.yml
آزمون‌ها: مستندات کارت امتیاز بلوغ مشورتی را در برابر ارجاع هدف رندر می‌کند. فقط هنگامی اجرا می‌شود که run_maturity_scorecard=true ارسال شده باشد.
اجرای مجدد: rerun_group=qa همراه با run_maturity_scorecard=true.
هم‌ارزی QA کار: Run QA Lab parity lane و Run QA Lab parity report
گردش‌کار پشتیبان: کارهای مستقیم
آزمون‌ها: بسته‌های هم‌ارزی عامل‌محور نامزد و مبنا، سپس گزارش هم‌ارزی.
اجرای مجدد: rerun_group=qa-parity یا rerun_group=qa.
هم‌ارزی زمان اجرای QA کار: Verify QA Lab runtime-pair lanes
گردش‌کار پشتیبان: کار مستقیم
آزمون‌ها: مسیر مرجع هسته openclaw/codex ‏(pnpm openclaw qa suite --runtime-pair openclaw,codex --runtime-pair-lane core) و با run_release_soak=true، مسیر ماندگاری. مشورتی: کارهای منفرد مسیر مانع تأییدکننده بررسی انتشار نمی‌شوند.
اجرای مجدد: rerun_group=qa-parity یا rerun_group=qa.
پوشش ابزار زمان اجرای QA کار: Enforce QA Lab runtime tool coverage
گردش‌کار پشتیبان: کار مستقیم
آزمون‌ها: انحراف پویای ابزار میان openclaw و codex در مسیر مرجع جفت زمان اجرای هسته (pnpm openclaw qa coverage --tools) با استفاده از خروجی همان مسیر. مسدودکننده: این کار با تنظیم مشورتی قابل نادیده‌گرفتن نیست.
اجرای مجدد: rerun_group=qa-parity یا rerun_group=qa.
Matrix زنده QA کار: Run QA Live Matrix profile
گردش‌کار پشتیبان: گردش‌کار قابل‌استفاده مجدد QA-Lab - All Lanes
آزمون‌ها: سناریوهای YAML با هم‌ارزی اثبات‌شده از طریق آداپتور زنده مشترک Matrix در محیط qa-live-shared.
اجرای مجدد: rerun_group=qa-live یا rerun_group=qa؛ برای اجرای مجدد متمرکز Matrix از live_suite_filter=qa-live-matrix استفاده کنید.
Telegram زنده QA کار: Run QA Lab live Telegram lane
گردش‌کار پشتیبان: راه‌اندازی مورد اعتماد OpenClaw Release Telegram QA
آزمون‌ها: QA زنده Telegram با اجاره اعتبارنامه‌های Convex CI.
اجرای مجدد: rerun_group=qa-live یا rerun_group=qa.
Discord زنده QA کار: Run QA Lab live Discord lane
گردش‌کار پشتیبان: کار مشورتی مستقیم
آزمون‌ها: QA زنده Discord با اجاره اعتبارنامه‌های Convex CI هنگامی که OPENCLAW_RELEASE_QA_DISCORD_LIVE_CI_ENABLED فعال است.
اجرای مجدد: rerun_group=qa-live همراه با live_suite_filter=qa-live-discord.
WhatsApp زنده QA کار: Run QA Lab live WhatsApp lane
گردش‌کار پشتیبان: کار مشورتی مستقیم
آزمون‌ها: QA زنده WhatsApp با اجاره اعتبارنامه‌های Convex CI هنگامی که OPENCLAW_RELEASE_QA_WHATSAPP_LIVE_CI_ENABLED فعال است.
اجرای مجدد: rerun_group=qa-live همراه با live_suite_filter=qa-live-whatsapp.
Slack زنده QA کار: Run QA Lab live Slack lane
گردش‌کار پشتیبان: کار مشورتی مستقیم
آزمون‌ها: QA زنده Slack با اجاره اعتبارنامه‌های Convex CI هنگامی که OPENCLAW_RELEASE_QA_SLACK_LIVE_CI_ENABLED فعال است.
اجرای مجدد: rerun_group=qa-live همراه با live_suite_filter=qa-live-slack.
تأییدکننده انتشار کار: Verify release checks
گردش‌کار پشتیبان: ندارد
آزمون‌ها: کارهای الزامی بررسی انتشار برای گروه اجرای مجدد انتخاب‌شده.
اجرای مجدد: پس از موفقیت کارهای فرزند متمرکز، دوباره اجرا شود.

بخش‌های مسیر انتشار Docker

مرحلهٔ مسیر انتشار Docker، هنگامی که live_suite_filter خالی است، این بخش‌ها را اجرا می‌کند:

بخش پوشش
core مسیرهای آزمون دود مسیر انتشار Docker هسته.
package-update-openai رفتار نصب/به‌روزرسانی بستهٔ OpenAI، نصب درخواستی Codex، پیگیری زندهٔ پیشرفت Plugin مربوط به Codex، و فراخوانی ابزارهای Chat Completions.
package-update-anthropic رفتار نصب و به‌روزرسانی بستهٔ Anthropic.
package-update-core رفتار بسته و به‌روزرسانی مستقل از ارائه‌دهنده.
plugins-runtime-plugins مسیرهای زمان اجرای Plugin که رفتار Plugin را آزمایش می‌کنند.
plugins-runtime-services مسیرهای زمان اجرای Plugin متکی به سرویس و زنده.
plugins-runtime-install-a تا plugins-runtime-install-h دسته‌های نصب/زمان اجرای Plugin که برای اعتبارسنجی موازی انتشار تفکیک شده‌اند.
openwebui آزمون دود سازگاری OpenWebUI که در صورت درخواست روی یک اجراکنندهٔ اختصاصی با دیسک بزرگ ایزوله می‌شود.

وقتی فقط یک مسیر Docker ناموفق بوده است، از docker_lanes=<lane[,lane]> هدفمند در گردش‌کار قابل‌استفادهٔ مجدد زنده/E2E استفاده کنید. مصنوعات انتشار، در صورت موجود بودن، شامل فرمان‌های اجرای مجدد هر مسیر به‌همراه ورودی‌های استفادهٔ مجدد از مصنوع بسته و تصویر هستند.

پروفایل‌های انتشار

release_profile عمدتاً گسترهٔ زنده/ارائه‌دهنده را در بررسی‌های انتشار کنترل می‌کند. این گزینه CI کامل عادی، پیش‌انتشار Plugin، آزمون دود نصب، پذیرش بسته یا QA Lab را حذف نمی‌کند. پروفایل‌های پایدار و کامل همیشه پوشش جامع E2E مخزن/زنده و آزمون ماندگاری مسیر انتشار Docker را اجرا می‌کنند. پروفایل بتا می‌تواند با run_release_soak=true به آن ملحق شود. پذیرش بسته، E2E مرجع Telegram بسته را برای هر نامزد کامل فراهم می‌کند؛ بنابراین گردش‌کار چتری آن پویشگر زنده را تکرار نمی‌کند.

پروفایل کاربرد موردنظر پوشش زنده/ارائه‌دهندهٔ مشمول
beta سریع‌ترین آزمون دود حیاتی برای انتشار. مسیر زندهٔ OpenAI/هسته، مدل‌های زندهٔ Docker برای OpenAI، هستهٔ Gateway بومی، پروفایل Gateway بومی OpenAI، Plugin بومی OpenAI و Gateway زندهٔ Docker برای OpenAI.
stable پروفایل پیش‌فرض تأیید انتشار. beta به‌علاوهٔ آزمون دود Anthropic، Google، MiniMax، بک‌اند، چارچوب آزمون زندهٔ بومی، بک‌اند CLI زندهٔ Docker، اتصال ACP در Docker، چارچوب Codex در Docker، اعلام زیرعامل در Docker و یک شارد آزمون دود OpenCode Go.
full پویش مشورتی گسترده. stable به‌علاوهٔ ارائه‌دهندگان مشورتی، شاردهای زندهٔ Plugin و شاردهای زندهٔ رسانه.

افزوده‌های مختص حالت کامل

این مجموعه‌ها توسط stable نادیده گرفته می‌شوند و در full گنجانده می‌شوند:

حوزه پوشش مختص حالت کامل
مدل‌های زندهٔ Docker OpenCode Go، OpenRouter، xAI، Z.ai و Fireworks.
Gateway زندهٔ Docker ارائه‌دهندگان مشورتی که به شاردهای DeepSeek/Fireworks، OpenCode Go/OpenRouter و xAI/Z.ai تفکیک شده‌اند.
پروفایل‌های ارائه‌دهندهٔ Gateway بومی شاردهای کامل Anthropic Opus و Sonnet/Haiku، Fireworks، DeepSeek، شاردهای کامل مدل OpenCode Go، OpenRouter، xAI و Z.ai.
شاردهای زندهٔ Plugin بومی Pluginهای A-K، L-N، سایر موارد O-Z، Moonshot و xAI.
شاردهای زندهٔ رسانهٔ بومی صدا، موسیقی Google، موسیقی MiniMax و گروه‌های ویدئویی A-D.

stable شامل native-live-src-gateway-profiles-anthropic-smoke و native-live-src-gateway-profiles-opencode-go-smoke است؛ full در عوض از شاردهای گسترده‌تر مدل Anthropic و OpenCode Go استفاده می‌کند. اجرای مجدد متمرکز همچنان می‌تواند از دسته‌های تجمیعی native-live-src-gateway-profiles-anthropic یا native-live-src-gateway-profiles-opencode-go استفاده کند.

اجراهای مجدد متمرکز

برای جلوگیری از تکرار محیط‌های انتشار نامرتبط، از rerun_group استفاده کنید:

دسته دامنه
all همهٔ مراحل اعتبارسنجی کامل انتشار.
ci فقط فرزند دستی CI کامل.
plugin-prerelease فقط فرزند پیش‌انتشار Plugin.
release-checks همهٔ مراحل بررسی انتشار OpenClaw.
install-smoke از آزمون دود نصب تا بررسی‌های انتشار.
cross-os بررسی‌های انتشار میان‌سیستم‌عاملی.
live-e2e اعتبارسنجی E2E مخزن/زنده و مسیر انتشار Docker.
package پذیرش بسته.
qa هم‌ارزی QA به‌علاوهٔ مسیرهای زندهٔ QA.
qa-parity فقط مسیرها و گزارش هم‌ارزی QA.
qa-live Matrix/Telegram زندهٔ QA به‌علاوهٔ مسیرهای مشروط Discord، WhatsApp و Slack در صورت فعال بودن.
npm-telegram E2E مربوط به Telegram برای بستهٔ منتشرشده؛ نیازمند release_package_spec یا npm_telegram_package_spec.
performance فقط شواهد عملکرد محصول.

وقتی یک مجموعهٔ زنده ناموفق بوده است، از live_suite_filter همراه با rerun_group=live-e2e استفاده کنید. شناسه‌های معتبر فیلتر در گردش‌کار قابل‌استفادهٔ مجدد زنده/E2E تعریف شده‌اند، از جمله 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 و live-codex-harness-docker.

برای اجرای مجدد متمرکز انتقال QA، rerun_group=qa-live را تنظیم کنید و از گزینشگر مرجع qa-live-matrix، qa-live-telegram، qa-live-discord، qa-live-whatsapp یا qa-live-slack استفاده کنید.

دستهٔ live-gateway-advisory-docker یک دستهٔ اجرای مجدد تجمیعی برای سه شارد ارائه‌دهندهٔ خود است؛ بنابراین همچنان به همهٔ کارهای مشورتی Gateway در Docker گسترش می‌یابد.

وقتی یک مسیر میان‌سیستم‌عاملی ناموفق بوده است، از cross_os_suite_filter همراه با rerun_group=cross-os استفاده کنید. فیلتر یک شناسهٔ سیستم‌عامل، شناسهٔ مجموعه، یا جفت سیستم‌عامل/مجموعه را می‌پذیرد؛ برای نمونه، windows/packaged-upgrade، windows یا packaged-fresh. خلاصه‌های میان‌سیستم‌عاملی شامل زمان‌بندی هر مرحله برای مسیرهای ارتقای بسته‌بندی‌شده هستند و فرمان‌های طولانی‌مدت خطوط Heartbeat را چاپ می‌کنند تا به‌روزرسانی گیرکرده پیش از پایان مهلت کار قابل‌مشاهده باشد.

شکست‌های بررسی انتشار QA تنها برای مسیرهای منتخب پوشش ابزار زمان اجرای Matrix، Telegram و QA، اعتبارسنجی عادی انتشار را مسدود می‌کنند. هم‌ارزی QA، هم‌ارزی زمان اجرا، و مسیرهای زندهٔ مشروط Discord، WhatsApp و Slack مشورتی هستند و بدون مسدود کردن اعتبارسنج انتشار، مصنوعات وضعیت را منتشر می‌کنند. اجراهای آلفای Tideclaw همچنان ممکن است مسیرهای بررسی انتشار غیرمرتبط با ایمنی بسته را مشورتی در نظر بگیرند. با release_profile=beta، مجموعه‌های ارائه‌دهندهٔ زندهٔ Run repo/live E2E validation مشورتی هستند: استقرارهای مدل شخص ثالث در طول یک انتشار تغییر می‌کنند؛ بنابراین بتا شکست‌های آن‌ها را به‌صورت هشدار نمایش می‌دهد، درحالی‌که پروفایل‌های پایدار و کامل همچنان آن‌ها را مسدودکننده نگه می‌دارند. وقتی live_suite_filter صراحتاً یک مسیر زندهٔ مشروط QA مانند Discord، WhatsApp یا Slack را درخواست می‌کند، متغیر مخزن OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED متناظر باید فعال باشد؛ در غیر این صورت، ثبت ورودی به‌جای رد کردن بی‌سروصدای مسیر ناموفق می‌شود. هنگامی که به شواهد تازهٔ QA نیاز دارید، rerun_group=qa، qa-parity یا qa-live را دوباره اجرا کنید.

شواهدی که باید نگه‌داری شوند

خلاصهٔ Full Release Validation را به‌عنوان نمایهٔ سطح انتشار نگه دارید. این خلاصه به شناسه‌های اجرای فرزند پیوند می‌دهد و شامل جدول‌های کندترین کارهاست. در صورت شکست، ابتدا گردش‌کار فرزند را بررسی کنید، سپس کوچک‌ترین دستهٔ منطبق در بالا را دوباره اجرا کنید.

برای یک انتشار عادی، هم Code SHA و هم Release SHA، سیاست استفادهٔ مجدد و مجموعهٔ مسیرهای تغییریافته، اجرای والد سبز Code SHA و اجرای والد سبک‌وزن Release SHA را ثبت کنید. برای extended-stable، شاخهٔ مرجع، SHA دقیق انتشار، شناسه و تلاش اجرای والد تازه، مرجع گردش‌کار، همهٔ اجراهای فرزند و هرگونه ترمیم سازگاری هدف ثابت‌شده یا حذف عمدی را ثبت کنید.

مصنوعات مفید:

  • release-package-under-test از OpenClaw Release Checks
  • مصنوعات مسیر انتشار Docker در .artifacts/docker-tests/
  • پذیرش بستهٔ package-under-test و مصنوعات پذیرش Docker
  • مصنوعات بررسی انتشار میان‌سیستم‌عاملی برای هر سیستم‌عامل و مجموعه
  • مصنوعات هم‌ارزی QA، هم‌ارزی زمان اجرا و Matrix، Telegram، Discord، WhatsApp یا Slack منتخب

فایل‌های گردش‌کار

  • .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
Was this useful?
On this page

On this page