跳轉到主要內容
Full Release Validation 是發行驗證總入口:用於發行前證明的單一手動進入點。大多數工作會在子工作流程中進行,因此某個執行環境失敗時,可以重新執行而不必重啟整個發行流程。 請從受信任的工作流程 ref 執行,通常是 main,並將發行分支、標籤或完整 commit SHA 作為 ref 傳入:
gh workflow run full-release-validation.yml \
  --ref main \
  -f ref=release/YYYY.M.PATCH \
  -f provider=openai \
  -f mode=both \
  -f release_profile=stable
provider 也接受 anthropicminimax,用於跨作業系統 onboarding 與端對端代理程式回合。子工作流程會使用受信任的工作流程 ref 作為測試框架,並使用輸入的 ref 作為待測候選版本,因此在驗證較舊的發行分支或標籤時,新的驗證邏輯仍可使用。 release_profile=stablerelease_profile=full 一律執行完整的 live/Docker soak。傳入 run_release_soak=true 可在 beta profile 中包含相同的 soak 驗證線。穩定版發佈會拒絕缺少此 soak 與阻斷性產品效能證據的驗證 manifest。 Package Acceptance 通常會從解析後的 ref 建置候選 tarball,包括透過 pnpm ci:full-release 分派的完整 SHA 執行。beta 發佈後,傳入 release_package_spec=openclaw@YYYY.M.PATCH-beta.N 可在發行檢查、Package Acceptance、跨作業系統、發行路徑 Docker,以及套件 Telegram 中重用已發佈的 npm 套件。只有在 Package Acceptance 應刻意證明不同套件時,才使用 package_acceptance_package_spec。Codex 外掛 live 套件驗證線遵循相同狀態:已發佈的 release_package_spec 值會衍生出 codex_plugin_spec=npm:@openclaw/codex@<version>;SHA/artifact 執行會從選定 ref 打包 extensions/codex;操作人員也可以直接為 npm:npm-pack:git: 外掛來源設定 codex_plugin_spec。該驗證線會授予此外掛所需的明確 Codex 命令列介面安裝核准,然後執行 Codex 命令列介面 preflight 與同一工作階段的 OpenAI 代理程式回合。

頂層階段

對於 rerun_group=allVerify Docker runtime image assets job 會作為所有其他階段的閘門:它會在其他任何項目分派之前,先以 OPENCLAW_EXTENSIONS=diagnostics-otel,codex 建置 runtime-assets Docker target。較窄的 rerun_group 會略過此 preflight。
階段詳細資訊
目標解析Job: Resolve target ref
子工作流程:
證明: 解析發行分支、標籤或完整 commit SHA,並記錄選定輸入。
重新執行: 若此項失敗,重新執行總入口。
Docker 資產 preflightJob: Verify Docker runtime image assets
子工作流程:
證明: 在任何其他階段分派之前,runtime-assets Docker 建置 target 仍會成功。僅在 rerun_group=all 時執行。
重新執行:rerun_group=all 重新執行總入口。
Vitest 與一般 CIJob: Run normal full CI
子工作流程: CI
證明: 針對目標 ref 的手動完整 CI 圖,包括 Linux 節點驗證線、內建外掛分片、外掛與 channel contract 分片、節點 22 相容性、check-*check-additional-*、建置 artifact smoke 檢查、文件檢查、Python skills、Windows、macOS、Control UI i18n,以及透過總入口執行的 Android。
重新執行: rerun_group=ci
外掛 prereleaseJob: Run plugin prerelease validation
子工作流程: Plugin Prerelease
證明: 僅限發行的外掛靜態檢查、agentic 外掛覆蓋率、完整外掛批次分片、外掛 prerelease Docker 驗證線,以及供相容性 triage 使用的非阻斷性 plugin-inspector-advisory artifact。
重新執行: rerun_group=plugin-prerelease
發行檢查Job: Run release/live/Docker/QA validation
子工作流程: OpenClaw Release Checks
證明: 安裝 smoke、跨作業系統套件檢查、Package Acceptance、QA Lab parity、live Matrix,以及 live Telegram。穩定版與完整 profile 也會執行完整的 live/E2E 套件與 Docker 發行路徑區塊;beta 可透過 run_release_soak=true 選擇加入。
重新執行: rerun_group=release-checks 或較窄的 release-checks handle。
套件 TelegramJob: Run package Telegram E2E
子工作流程: NPM Telegram Beta E2E
證明: 當設定 release_package_specnpm_telegram_package_spec 時,針對已發佈套件執行聚焦的 Telegram E2E。完整候選驗證會改用標準 Package Acceptance Telegram E2E。
重新執行: 使用 release_package_specnpm_telegram_package_specrerun_group=npm-telegram
產品效能Job: Run product performance evidence
子工作流程: OpenClaw Performance
證明: 針對目標 SHA 的 release-profile 效能執行(profile=releaserepeat=3fail_on_regression=true)。僅對 rerun_group=allrerun_group=performance 必要且具阻斷性;較窄的重新執行群組不需要。
重新執行: rerun_group=performance
總入口驗證器Job: Verify full validation
子工作流程:
證明: 重新檢查已記錄的子執行結論,並附加來自子工作流程的最慢 job 表格。
重新執行: 在將失敗的子項目重新執行至綠燈後,只重新執行此 job。
對於 ref=mainrerun_group=all,較新的總入口會取代較舊的總入口。當父項被取消時,其監控器會取消任何已分派的子工作流程。發行分支與標籤驗證執行預設不會互相取消。

發行檢查階段

OpenClaw Release Checks 是最大的子工作流程。它會解析目標一次,並在套件或 Docker 相關階段需要時,準備共享的 release-package-under-test artifact。
階段詳細資料
發行目標作業: Resolve target ref
支援工作流程:
測試: 選取的參照、選用的預期 SHA、設定檔、重新執行群組,以及聚焦的即時套件篩選器。
重新執行: rerun_group=release-checks
套件成品作業: Prepare release package artifact
支援工作流程:
測試: 封裝或解析一個候選 tarball,並上傳 release-package-under-test 供下游面向套件的檢查使用。
重新執行: 受影響的套件、跨作業系統或即時/E2E 群組。
安裝冒煙測試作業: Run install smoke
支援工作流程: Install Smoke
測試: 完整安裝路徑,包含重用根 Dockerfile 冒煙測試映像、QR 套件安裝、根與閘道 Docker 冒煙測試、安裝程式 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、即時快取、OpenAI websocket 串流、原生即時提供者與外掛分片,以及由 release_profile 選取、以 Docker 支援的即時模型/後端/閘道測試工具。
執行: run_release_soak=truerelease_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=truerelease_profile=full,或聚焦的 rerun_group=live-e2e
重新執行: rerun_group=live-e2e
套件驗收作業: Run package acceptance
支援工作流程: Package Acceptance
測試: 離線外掛套件 fixtures、外掛更新、標準 mock-OpenAI Telegram 套件 E2E,以及針對同一個 tarball 的已發布升級存活檢查。阻斷式發行檢查會使用預設的最新已發布基準;浸泡檢查 (run_release_soak=true) 會擴展到最近 4 個穩定 npm 發行版,加上 3 個釘選的歷史版本 (2026.4.232026.5.22026.4.15),並針對已回報問題的升級 fixtures 執行。
重新執行: 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 laneRun QA Lab parity report
支援工作流程: 直接作業
測試: 候選與基準代理式對等性套件,接著產生對等性報告。
重新執行: rerun_group=qa-parityrerun_group=qa
QA 執行階段對等性作業: Run QA Lab runtime parity lane
支援工作流程: 直接作業
測試: openclaw/codex 執行階段配對代理式對等性路徑 (pnpm openclaw qa suite --runtime-pair openclaw,codex),包含標準層級,並在 run_release_soak=true 時包含浸泡層級。諮詢性:個別失敗不會阻斷發行檢查驗證器。
重新執行: rerun_group=qa-parityrerun_group=qa
QA 執行階段工具涵蓋率作業: Enforce QA Lab runtime tool coverage
支援工作流程: 直接作業
測試: 使用 QA 執行階段對等性路徑的輸出,在標準執行階段對等性層級 (pnpm openclaw qa coverage --tools) 中檢查 openclawcodex 之間的動態工具漂移。阻斷式:此作業不可由諮詢性覆寫。
重新執行: rerun_group=qa-parityrerun_group=qa
QA 即時 Matrix作業: Run QA Lab live Matrix lane
支援工作流程: 直接作業
測試: qa-live-shared 環境中的快速即時 Matrix QA 設定檔。
重新執行: rerun_group=qa-livererun_group=qa
QA 即時 Telegram作業: Run QA Lab live Telegram lane
支援工作流程: 直接作業
測試: 使用 Convex CI 憑證租約的即時 Telegram QA。
重新執行: rerun_group=qa-livererun_group=qa
發行驗證器作業: Verify release checks
支援工作流程:
測試: 所選重新執行群組所需的發行檢查作業。
重新執行: 在聚焦的子作業通過後重新執行。

Docker 發行路徑區塊

live_suite_filter 為空時,Docker 發行路徑階段會執行這些區塊:
區塊涵蓋範圍
core核心 Docker 發行路徑冒煙測試路徑。
package-update-openaiOpenAI 套件安裝/更新行為、Codex 隨選安裝、Codex 外掛即時回合,以及 Chat Completions 工具呼叫。
package-update-anthropicAnthropic 套件安裝與更新行為。
package-update-core提供者中立的套件與更新行為。
plugins-runtime-plugins執行外掛行為的外掛執行階段路徑。
plugins-runtime-services由服務支援與即時外掛執行階段路徑;在要求時包含 OpenWebUI。
plugins-runtime-install-a through plugins-runtime-install-h為平行發行驗證拆分的外掛安裝/執行階段批次。
當只有一個 Docker 路徑失敗時,請在可重用的即時/E2E 工作流程上使用目標式 docker_lanes=<lane[,lane]>。發行成品會在可用時包含每個路徑的重新執行 命令,並附帶套件成品與映像重用輸入。

發行設定檔

release_profile 主要控制發佈檢查內的實機/提供者涵蓋廣度。 它不會移除一般完整 CI、外掛預發佈、安裝煙霧測試、套件 驗收或 QA 實驗室。Stable 和 full 設定檔一律執行完整的儲存庫/實機 E2E,以及 Docker 發佈路徑浸泡涵蓋。beta 設定檔可透過 run_release_soak=true 選擇加入。套件驗收會為每個完整候選版本提供標準套件 Telegram E2E,因此 umbrella 不會重複該實機輪詢器。
設定檔預期用途包含的實機/提供者涵蓋範圍
beta最快的發佈關鍵煙霧測試。OpenAI/核心實機路徑、OpenAI 的 Docker 實機模型、原生閘道核心、原生 OpenAI 閘道設定檔、原生 OpenAI 外掛,以及 Docker 實機閘道 OpenAI。
stable預設發佈核准設定檔。beta 加上 Anthropic 煙霧測試、Google、MiniMax、後端、原生實機測試框架、Docker 實機命令列介面後端、Docker ACP 綁定、Docker Codex 框架、Docker subagent-announce,以及一個 OpenCode Go 煙霧測試分片。
full廣泛諮詢掃描。stable 加上諮詢提供者、外掛實機分片,以及媒體實機分片。

僅 full 包含的新增項目

這些套件會由 stable 略過,並包含在 full 中:
區域僅 full 涵蓋範圍
Docker 實機模型OpenCode Go、OpenRouter、xAI、Z.ai,以及 Fireworks。
Docker 實機閘道諮詢提供者分成 DeepSeek/Fireworks、OpenCode Go/OpenRouter,以及 xAI/Z.ai 分片。
原生閘道提供者設定檔完整 Anthropic Opus 和 Sonnet/Haiku 分片、Fireworks、DeepSeek、完整 OpenCode Go 模型分片、OpenRouter、xAI,以及 Z.ai。
原生外掛實機分片外掛 A-K、L-N、O-Z 其他、Moonshot,以及 xAI。
原生媒體實機分片Audio、Google 音樂、MiniMax 音樂,以及影片群組 A-D。
stable 包含 native-live-src-gateway-profiles-anthropic-smokenative-live-src-gateway-profiles-opencode-go-smokefull 則改用更廣泛的 Anthropic 和 OpenCode Go 模型分片。聚焦重新執行仍可使用彙總 native-live-src-gateway-profiles-anthropicnative-live-src-gateway-profiles-opencode-go 控制代碼。

聚焦重新執行

使用 rerun_group 以避免重複執行無關的發佈盒:
控制代碼範圍
all所有完整發佈驗證階段。
ci僅手動完整 CI 子項。
plugin-prerelease僅外掛預發佈子項。
release-checks所有 OpenClaw 發佈檢查階段。
install-smoke透過發佈檢查的安裝煙霧測試。
cross-os跨 OS 發佈檢查。
live-e2e儲存庫/實機 E2E 和 Docker 發佈路徑驗證。
package套件驗收。
qaQA 對等性加上 QA 實機路徑。
qa-parity僅 QA 對等性路徑和報告。
qa-live啟用時包含 QA 實機 Matrix/Telegram,加上受門控的 Discord、WhatsApp 和 Slack 路徑。
npm-telegram已發佈套件 Telegram E2E;需要 release_package_specnpm_telegram_package_spec
performance僅產品效能證據。
當某個實機套件失敗時,搭配 rerun_group=live-e2e 使用 live_suite_filter。 有效的篩選器 ID 定義於可重用的實機/E2E 工作流程中,包括 docker-live-modelslive-gateway-dockerlive-gateway-anthropic-dockerlive-gateway-google-dockerlive-gateway-minimax-dockerlive-gateway-advisory-dockerlive-cli-backend-dockerlive-acp-bind-docker,以及 live-codex-harness-docker live-gateway-advisory-docker 控制代碼是其三個提供者分片的彙總重新執行控制代碼, 因此它仍會展開到所有諮詢 Docker 閘道作業。 當某個跨 OS 路徑失敗時,搭配 rerun_group=cross-os 使用 cross_os_suite_filter。此篩選器接受 OS ID、套件 ID,或 OS/套件配對, 例如 windows/packaged-upgradewindowspackaged-fresh。跨 OS 摘要包含已封裝升級路徑的各階段計時,且長時間執行的命令會列印心跳偵測行, 讓卡住的更新能在作業逾時前可見。 QA 發佈檢查失敗會阻擋一般發佈驗證。QA 執行階段工具涵蓋檢查 (標準層中 openclawcodex 之間的動態工具漂移)也會阻擋發佈檢查驗證器, 即使底層 QA 執行階段對等性路徑屬於諮詢性質。Tideclaw alpha 執行仍可將非套件安全 發佈檢查路徑視為諮詢。當 live_suite_filter 明確請求受門控的 QA 實機路徑, 例如 Discord、WhatsApp 或 Slack,對應的 OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED 儲存庫變數必須啟用;否則輸入擷取會失敗,而不是靜默略過該路徑。 需要新的 QA 證據時,重新執行 rerun_group=qaqa-parityqa-live

要保留的證據

保留 Full Release Validation 摘要作為發佈層級索引。它連結子執行 ID, 並包含最慢作業表。若發生失敗,先檢查子工作流程,然後重新執行上方最小的相符控制代碼。 實用成品:
  • OpenClaw Release Checksrelease-package-under-test
  • .artifacts/docker-tests/ 底下的 Docker 發佈路徑成品
  • 套件驗收的 package-under-test 和 Docker 驗收成品
  • 各 OS 和套件的跨 OS 發佈檢查成品
  • QA 對等性、執行階段對等性、Matrix,以及 Telegram 成品

工作流程檔案

  • .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
  • .github/workflows/openclaw-performance.yml
  • .github/workflows/npm-telegram-beta-e2e.yml