24 KiB
| read_when | summary | title | x-i18n | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
مراحل اعتبارسنجی کامل انتشار، گردشکارهای فرزند، پروفایلهای انتشار، شناسههای اجرای مجدد، و شواهد | اعتبارسنجی کامل انتشار |
|
Full Release Validation چتر انتشار است. این تنها نقطه ورود دستی
برای اثبات پیش از انتشار است، اما بیشتر کار در گردشکارهای فرزند انجام میشود تا
یک جعبه ناموفق بدون شروع دوباره کل انتشار بازاجرایی شود.
آن را از یک ارجاع گردشکار مورد اعتماد، معمولاً main، اجرا کنید و شاخه انتشار،
برچسب، یا SHA کامل commit را بهعنوان ref بدهید:
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
گردشکارهای فرزند از ارجاع گردشکار مورد اعتماد برای ابزار اجرا و از ورودی
ref برای نامزد تحت آزمون استفاده میکنند. این باعث میشود منطق اعتبارسنجی جدید
هنگام اعتبارسنجی یک شاخه یا برچسب انتشار قدیمیتر در دسترس بماند.
Package Acceptance معمولاً tarball نامزد را از ref حلشده میسازد، از جمله
اجراهای SHA کامل که با pnpm ci:full-release dispatch شدهاند. پس از انتشار،
package_acceptance_package_spec=openclaw@YYYY.M.D (یا
openclaw@beta/openclaw@latest) را بدهید تا همان ماتریس بسته/بهروزرسانی را
در عوض روی بسته npm ارسالشده اجرا کند.
مراحل سطح بالا
| مرحله | جزئیات |
|---|---|
| حل هدف | کار: Resolve target refگردشکار فرزند: هیچکدام اثبات میکند: شاخه انتشار، برچسب، یا SHA کامل commit را حل میکند و ورودیهای انتخابشده را ثبت میکند. بازاجرا: اگر این مورد شکست خورد، چتر را بازاجرا کنید. |
| Vitest و CI عادی | کار: Run normal full CIگردشکار فرزند: CIاثبات میکند: گراف CI کامل دستی را در برابر ارجاع هدف، شامل مسیرهای Linux Node، شاردهای Plugin بستهبندیشده، قراردادهای کانال، سازگاری Node 22، check، check-additional، smoke ساخت، بررسیهای مستندات، Skills پایتون، Windows، macOS، i18n رابط کاربری کنترل، و Android از طریق چتر.بازاجرا: rerun_group=ci. |
| پیشانتشار Plugin | کار: Run plugin prerelease validationگردشکار فرزند: Plugin Prereleaseاثبات میکند: بررسیهای ایستای Plugin مخصوص انتشار، پوشش Plugin عاملی، شاردهای دستهای کامل extension، و مسیرهای Docker پیشانتشار Plugin. بازاجرا: rerun_group=plugin-prerelease. |
| بررسیهای انتشار | کار: Run release/live/Docker/QA validationگردشکار فرزند: OpenClaw Release Checksاثبات میکند: smoke نصب، بررسیهای بسته میانسیستمی، مجموعههای live/E2E، تکههای مسیر انتشار Docker، Package Acceptance، همارزی QA Lab، Matrix زنده، و Telegram زنده. بازاجرا: rerun_group=release-checks یا یک handle محدودتر release-checks. |
| artifact بسته | کار: Prepare release package artifactگردشکار فرزند: هیچکدام اثبات میکند: tarball والد release-package-under-test را بهاندازه کافی زود میسازد تا بررسیهای بستهمحور که نیازی به انتظار برای OpenClaw Release Checks ندارند اجرا شوند.بازاجرا: چتر را بازاجرا کنید یا برای rerun_group=npm-telegram مقدار npm_telegram_package_spec را فراهم کنید. |
| بسته Telegram | کار: Run package Telegram E2Eگردشکار فرزند: NPM Telegram Beta E2Eاثبات میکند: اثبات بسته Telegram مبتنی بر artifact والد برای rerun_group=all همراه با release_profile=full، یا اثبات Telegram بسته منتشرشده وقتی npm_telegram_package_spec تنظیم شده باشد.بازاجرا: rerun_group=npm-telegram همراه با npm_telegram_package_spec. |
| اعتبارسنج چتر | کار: Verify full validationگردشکار فرزند: هیچکدام اثبات میکند: نتیجههای ثبتشده اجرای فرزند را دوباره بررسی میکند و جدولهای کندترین کارها را از گردشکارهای فرزند پیوست میکند. بازاجرا: پس از سبز کردن یک فرزند ناموفق، فقط همین کار را بازاجرا کنید. |
برای ref=main و rerun_group=all، یک چتر جدیدتر جایگزین چتر قدیمیتر میشود.
وقتی والد لغو میشود، پایشگر آن هر گردشکار فرزندی را که قبلاً dispatch کرده
است لغو میکند. اجراهای اعتبارسنجی شاخه انتشار و برچسب بهصورت پیشفرض یکدیگر
را لغو نمیکنند.
مراحل بررسیهای انتشار
OpenClaw Release Checks بزرگترین گردشکار فرزند است. این گردشکار هدف را
یکبار حل میکند و وقتی مراحل بستهمحور یا Dockerمحور به آن نیاز دارند، یک
artifact مشترک release-package-under-test آماده میکند.
| مرحله | جزئیات |
|---|---|
| هدف انتشار | کار: Resolve target refگردشکار پشتیبان: هیچکدام آزمونها: ارجاع انتخابشده، SHA مورد انتظار اختیاری، پروفایل، گروه بازاجرا، و فیلتر مجموعه live متمرکز. بازاجرا: rerun_group=release-checks. |
| artifact بسته | کار: Prepare release package artifactگردشکار پشتیبان: هیچکدام آزمونها: یک tarball نامزد را بستهبندی یا حل میکند و release-package-under-test را برای بررسیهای پاییندستی بستهمحور بارگذاری میکند.بازاجرا: گروه بسته، میانسیستمی، یا live/E2E تحت تأثیر. |
| smoke نصب | کار: Run install smokeگردشکار پشتیبان: Install Smokeآزمونها: مسیر نصب کامل با استفاده دوباره از تصویر smoke ریشه Dockerfile، نصب بسته QR، smokeهای Docker ریشه و Gateway، آزمونهای Docker نصبکننده، smoke ارائهدهنده تصویر نصب سراسری Bun، و E2E سریع نصب/حذف نصب Pluginهای بستهبندیشده. بازاجرا: rerun_group=install-smoke. |
| میانسیستمی | کار: cross_os_release_checksگردشکار پشتیبان: OpenClaw Cross-OS Release Checks (Reusable)آزمونها: مسیرهای تازه و ارتقا روی Linux، Windows، و macOS برای ارائهدهنده و حالت انتخابشده، با استفاده از tarball نامزد بههمراه یک بسته مبنا. بازاجرا: rerun_group=cross-os. |
| مخزن و live E2E | کار: Run repo/live E2E validationگردشکار پشتیبان: OpenClaw Live And E2E Checks (Reusable)آزمونها: E2E مخزن، cache زنده، streaming websocket OpenAI، شاردهای ارائهدهنده و Plugin زنده native، و ابزارهای مدل/backend/Gateway زنده مبتنی بر Docker که با release_profile انتخاب میشوند.بازاجرا: rerun_group=live-e2e، بهصورت اختیاری همراه با live_suite_filter. |
| مسیر انتشار Docker | کار: Run Docker release-path validationگردشکار پشتیبان: OpenClaw Live And E2E Checks (Reusable)آزمونها: تکههای Docker مسیر انتشار در برابر artifact بسته مشترک. بازاجرا: rerun_group=live-e2e. |
| Package Acceptance | کار: Run package acceptanceگردشکار پشتیبان: Package Acceptanceآزمونها: fixtureهای بسته Plugin آفلاین، بهروزرسانی Plugin، پذیرش بسته Telegram با mock-OpenAI، و بررسیهای survivor ارتقای منتشرشده از هر انتشار npm پایدار در یا پس از 2026.4.23 در برابر همان tarball.بازاجرا: rerun_group=package. |
| همارزی QA | کار: Run QA Lab parity lane و Run QA Lab parity reportگردشکار پشتیبان: کارهای مستقیم آزمونها: بستههای همارزی عاملی نامزد و مبنا، سپس گزارش همارزی. بازاجرا: rerun_group=qa-parity یا rerun_group=qa. |
| QA live Matrix | کار: Run QA Lab live Matrix laneگردشکار پشتیبان: کار مستقیم آزمونها: پروفایل QA سریع Matrix زنده در محیط qa-live-shared.بازاجرا: rerun_group=qa-live یا rerun_group=qa. |
| QA live Telegram | کار: Run QA Lab live Telegram laneگردشکار پشتیبان: کار مستقیم آزمونها: QA زنده Telegram با leaseهای اعتبارنامه Convex CI. بازاجرا: rerun_group=qa-live یا rerun_group=qa. |
| اعتبارسنج انتشار | کار: Verify release checksگردشکار پشتیبان: هیچکدام آزمونها: کارهای الزامی release-check برای گروه بازاجرای انتخابشده. بازاجرا: پس از موفقیت کارهای فرزند متمرکز بازاجرا کنید. |
تکههای مسیر انتشار Docker
مرحله مسیر انتشار Docker این تکهها را وقتی live_suite_filter خالی است اجرا
میکند:
| تکه | پوشش |
|---|---|
core |
مسیرهای smoke مسیر انتشار Core Docker. |
package-update-openai |
رفتار نصب و بهروزرسانی بسته OpenAI. |
package-update-anthropic |
رفتار نصب و بهروزرسانی بسته Anthropic. |
package-update-core |
رفتار بسته و بهروزرسانی مستقل از ارائهدهنده. |
plugins-runtime-plugins |
مسیرهای runtime Plugin که رفتار Plugin را تمرین میکنند. |
plugins-runtime-services |
مسیرهای runtime Plugin مبتنی بر سرویس؛ در صورت درخواست شامل OpenWebUI است. |
plugins-runtime-install-a through plugins-runtime-install-h |
دستههای نصب/runtime Plugin که برای اعتبارسنجی انتشار موازی تقسیم شدهاند. |
در workflow زنده/E2E قابلاستفادهمجدد، زمانی که فقط یک lane مربوط به Docker شکست خورده است، از docker_lanes=<lane[,lane]> هدفمند استفاده کنید. artifactهای انتشار، در صورت در دسترس بودن، شامل دستورهای rerun بهازای هر lane همراه با ورودیهای استفادهٔ دوباره از artifact بسته و image هستند.
پروفایلهای انتشار
release_profile عمدتاً گسترهٔ زنده/provider را در بررسیهای انتشار کنترل میکند.
این گزینه CI کامل عادی، پیشانتشار Plugin، install smoke، پذیرش بسته، QA Lab، یا بخشهای مسیر انتشار Docker را حذف نمیکند. full همچنین باعث میشود umbrella run در حالت
rerun_group=all، package Telegram E2E را در برابر artifact بستهٔ انتشار والد اجرا کند، بنابراین یک کاندیدای کامل پیش از انتشار بیصدا آن lane بستهٔ Telegram را رد نمیکند.
| پروفایل | کاربرد موردنظر | پوشش زنده/provider شاملشده |
|---|---|---|
minimum |
سریعترین smoke حیاتی برای انتشار. | مسیر زنده OpenAI/هسته، مدلهای زنده Docker برای OpenAI، هستهٔ native gateway، پروفایل native OpenAI gateway، Plugin native OpenAI، و Docker live gateway OpenAI. |
stable |
پروفایل پیشفرض تأیید انتشار. | minimum بهعلاوهٔ Anthropic smoke، Google، MiniMax، backend، native live test harness، Docker live CLI backend، Docker ACP bind، Docker Codex harness، و یک shard مربوط به OpenCode Go smoke. |
full |
پیمایش advisory گسترده. | stable بهعلاوهٔ providerهای advisory، shardهای زندهٔ plugin، و shardهای زندهٔ رسانه. |
افزودههای فقط مخصوص Full
این suiteها توسط stable رد میشوند و توسط full شامل میشوند:
| حوزه | پوشش فقط مخصوص Full |
|---|---|
| مدلهای زنده Docker | OpenCode Go، OpenRouter، xAI، Z.ai، و Fireworks. |
| Docker live gateway | providerهای advisory که به shardهای DeepSeek/Fireworks، OpenCode Go/OpenRouter، و xAI/Z.ai تقسیم شدهاند. |
| پروفایلهای provider مربوط به Native gateway | shardهای کامل Anthropic Opus و Sonnet/Haiku، Fireworks، DeepSeek، shardهای کامل مدل OpenCode Go، OpenRouter، xAI، و Z.ai. |
| shardهای زندهٔ Native plugin | Plugins A-K، L-N، O-Z other، Moonshot، و xAI. |
| shardهای زندهٔ Native media | Audio، Google music، MiniMax music، و video groups A-D. |
stable شامل native-live-src-gateway-profiles-anthropic-smoke و
native-live-src-gateway-profiles-opencode-go-smoke است؛ full بهجای آن از shardهای گستردهتر مدل Anthropic و OpenCode Go استفاده میکند. rerunهای متمرکز همچنان میتوانند از handleهای تجمیعی native-live-src-gateway-profiles-anthropic یا
native-live-src-gateway-profiles-opencode-go استفاده کنند.
rerunهای متمرکز
برای پرهیز از تکرار boxهای انتشار نامرتبط، از rerun_group استفاده کنید:
| handle | دامنه |
|---|---|
all |
همهٔ مرحلههای Full Release Validation. |
ci |
فقط child مربوط به CI کامل دستی. |
plugin-prerelease |
فقط child مربوط به پیشانتشار Plugin. |
release-checks |
همهٔ مرحلههای OpenClaw Release Checks. |
install-smoke |
Install Smoke از طریق بررسیهای انتشار. |
cross-os |
بررسیهای انتشار Cross-OS. |
live-e2e |
اعتبارسنجی Repo/live E2E و مسیر انتشار Docker. |
package |
Package Acceptance. |
qa |
برابری QA بهعلاوهٔ laneهای زندهٔ QA. |
qa-parity |
فقط laneهای برابری QA و گزارش. |
qa-live |
فقط Matrix زندهٔ QA و Telegram. |
npm-telegram |
Telegram E2E برای بستهٔ منتشرشده؛ به npm_telegram_package_spec نیاز دارد. |
وقتی یک suite زنده شکست خورده است، همراه با rerun_group=live-e2e از live_suite_filter استفاده کنید.
شناسههای معتبر filter در workflow زنده/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.
handle مربوط به live-gateway-advisory-docker یک handle تجمیعی rerun برای سه shard provider خودش است، بنابراین همچنان به همهٔ jobهای advisory Docker gateway گسترش پیدا میکند.
شواهدی که باید نگه دارید
خلاصهٔ Full Release Validation را بهعنوان شاخص سطح انتشار نگه دارید. این خلاصه به شناسههای run فرزند لینک میدهد و شامل جدولهای کندترین jobهاست. برای failureها، ابتدا workflow فرزند را بررسی کنید، سپس کوچکترین handle منطبق بالا را دوباره اجرا کنید.
artifactهای مفید:
release-package-under-testاز والد Full Release Validation وOpenClaw Release Checks- artifactهای مسیر انتشار Docker زیر
.artifacts/docker-tests/ package-under-testمربوط به Package Acceptance و artifactهای پذیرش Docker- artifactهای بررسی انتشار Cross-OS برای هر OS و suite
- artifactهای برابری QA، Matrix، و Telegram
فایلهای workflow
.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