Skip to content

macOS Release Smoke

验证签名、公证、安装、核心功能和 GitHub Release updater 链路。

Updated View as Markdown

每个公开版本在 GitHub Release 发布前必须完成以下检查。自动步骤只证明签名和公证,真实功能链路仍需在已签名 App 中验证。

自动检查

在 release runner 或本地已签名产物目录执行:

bash scripts/verify-macos-release.sh

必须全部为 PASS:

  • Kxen.appcodesign --verify --deep --strict
  • Kxen.app 的 Gatekeeper spctl --assess
  • Kxen.app 的 notarization ticket xcrun stapler validate
  • DMG 的 code signature 和 Gatekeeper。Tauri 先公证并 staple App,再封装和签名 DMG;DMG 容器本身没有单独的 ticket。

已签名 App E2E

  1. 从 GitHub Release 下载 DMG,不使用本地 build 目录的 App。
  2. 挂载 DMG,把 Kxen 拖入 /Applications,首次启动不应出现「无法验证开发者」。
  3. Settings 的首次运行检查显示 Workspace、Provider 和 Routing 均为 PASS
  4. 新建 Session,选择一个 Provider,发送消息并确认模型标签与实际 Provider 一致。
  5. 选择 Workspace 内文件执行 read/edit,选择 Workspace 外普通文件后可读取;选择 .p8 或 Kxen 数据目录必须被拒绝。
  6. 执行 Shell 命令,必须先出现包含完整 command 和 cwd 的宿主机 Approval;拒绝后不得执行。
  7. 创建 Goal、Schedule、Workflow 和 Team,并确认各入口可发现、状态可回放。
  8. 分别执行「直接删除」和「删除并沉淀个人知识」;后者不得写项目 .agents/
  9. Browser automation、Remote MCP、自动知识沉淀在全新配置中必须为关闭。
  10. 用上一公开版本检查更新,必须读取 GitHub Release 的 latest.json,签名验证通过后完成安装和重启。

任何一项未验证均记录为 UNKNOWN,不得写成 PASS

Navigation

Type to search…

↑↓ navigate↵ selectEsc close