验证更新路径、包迁移和插件安装/更新行为的专项清单。
保护的核心契约
- 包 tarball 完整,有有效的
dist/postinstall-inventory.json - 用户可从旧版本升级而不丢失配置、Agent、session、工作区、插件允许列表或渠道配置
openclaw doctor --fix --non-interactive负责遗留清理和修复路径- 插件安装支持本地目录、git 仓库、npm 包和 ClawHub 注册表
- 插件 npm 依赖安装在托管 npm 根目录,卸载时通过 npm 移除
本地开发验证
pnpm changed:lanes --json
pnpm check:changed
pnpm test:changed
# 插件相关变更时额外运行
pnpm test src/plugins/uninstall.test.ts src/infra/package-dist-inventory.test.ts
# 包制品验证
pnpm release:checkDocker 测试通道
pnpm test:docker:plugins # 插件安装冒烟
pnpm test:docker:plugin-lifecycle-matrix # 插件完整生命周期
pnpm test:docker:plugin-update # 插件更新无变化验证
pnpm test:docker:upgrade-survivor # 旧用户状态升级验证
pnpm test:docker:published-upgrade-survivor # 从已发布版本升级验证
pnpm test:docker:update-restart-auth # 更新重启认证验证
pnpm test:docker:update-migration # 清理重型发布更新通道已发布升级验证变体
OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC=openclaw@2026.4.23 \
OPENCLAW_UPGRADE_SURVIVOR_SCENARIO=versioned-runtime-deps \
pnpm test:docker:published-upgrade-survivor可用场景:base、feishu-channel、bootstrap-persona、plugin-deps-cleanup、configured-plugin-installs、stale-source-plugin-shadow、tilde-log-path、versioned-runtime-deps
Package Acceptance(GitHub 原生包门控)
候选来源:
source=npm:验证openclaw@beta、openclaw@latest或精确版本source=ref:从可信分支/标签/提交打包source=url:验证 HTTPS tarball(需package_sha256)source=artifact:复用另一个 Actions 运行上传的 tarball
gh workflow run package-acceptance.yml \
--ref main \
-f source=npm \
-f package_spec=openclaw@beta \
-f suite_profile=package发布默认验证栈
pnpm check:changed和pnpm test:changed(源码级回归)pnpm release:check(包制品完整性)- Package Acceptance
packageprofile(安装/更新/重启/插件契约) - 跨 OS 发布检查
- 实时套件(仅当变更涉及 Provider 或托管服务行为时)
故障排查
从制品身份开始:
- Package Acceptance
resolve_package摘要:来源、版本、SHA-256 - Docker 制品:
.artifacts/docker-tests/**/summary.json - 升级幸存者摘要:
.artifacts/upgrade-survivor/summary.json
相关链接
- help-testing — 测试套件总览
- help-testing-live — 实时测试套件