docs/docs/fa/reference/full-release-validation.md
2026-05-03 21:45:29 +00:00

24 KiB
Raw Blame History

read_when summary title x-i18n
اجرای اعتبارسنجی کامل انتشار یا اجرای مجدد آن
مقایسهٔ پروفایل‌های اعتبارسنجی انتشار پایدار و کامل
اشکال‌زدایی از شکست‌های مرحلهٔ اعتبارسنجی انتشار
مراحل اعتبارسنجی کامل انتشار، گردش‌کارهای فرزند، پروفایل‌های انتشار، شناسه‌های اجرای مجدد، و شواهد اعتبارسنجی کامل انتشار
generated_at model provider source_hash source_path workflow
2026-05-03T21:39:35Z gpt-5.5 openai 038901ad751c00b35f69d7ec5caf74e577dcf2350d7658037c3ecc9ff5fab6d7 reference/full-release-validation.md 16

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