docs: update vault github actions deploy record

This commit is contained in:
Haitao Pan 2026-06-06 19:32:26 +08:00
parent df06dbaf7b
commit 261d49cf9a
2 changed files with 33 additions and 4 deletions

View File

@ -65,6 +65,30 @@
- `SSH_KNOWN_HOSTS` - `SSH_KNOWN_HOSTS`
- 保留原有 `workflow_dispatch` 的手动 token 覆盖路径 - 保留原有 `workflow_dispatch` 的手动 token 覆盖路径
- `prepare-ssh.sh` 已改为优先解码 `SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64`,再回退到原始私钥 - `prepare-ssh.sh` 已改为优先解码 `SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64`,再回退到原始私钥
- 补充了 deploy 前置校验:`BRIDGE_AUTH_TOKEN` 必须由 `workflow_dispatch` 输入或 Vault `INTERNAL_SERVICE_TOKEN` 注入,为空时在 GitHub Actions 中提前失败并输出非敏感错误说明
- 已修复 `Validate OpenClaw session contract` 的 smoke 行为:当 OpenClaw session 已启动但 `xworkmate.tasks.get` 返回 `no_native_task_record` 时,按“会话启动合同通过、无 native task record 可轮询”处理,避免 deploy 后置验证无意义等待到超时
#### xworkmate-bridge 补充验收记录
- 失败 run`https://github.com/ai-workspace-lab/xworkmate-bridge/actions/runs/27060129810`
- 失败点Ansible `Assert xworkmate-bridge auth token is provided`
- 原因GitHub Actions deploy job 中 `BRIDGE_AUTH_TOKEN` / `INTERNAL_SERVICE_TOKEN` 为空
- 修复提交:
- `6db48ee fix(ci): require bridge auth token before deploy`
- `919addf fix(ci): accept OpenClaw session without native task record`
- 验收 run`https://github.com/ai-workspace-lab/xworkmate-bridge/actions/runs/27060962558`
- `Production State`: success
- `Prep`: success
- `Build`: success
- `Deploy`: success
- `Validate`: success
- `Publish GitHub Release`: success
- 验收要点:
- `Load Vault secrets` 成功读取仓库专用 KV 路径
- `Validate deploy secrets` 成功确认 `BRIDGE_AUTH_TOKEN` 已注入
- `Prepare runner SSH access` 成功验证 SSH deploy key
- `Run Ansible deploy playbook` 成功通过原失败的 auth token assert
- `Validate OpenClaw session contract` 成功通过,不再因 `no_native_task_record` 超时
### xworkmate-app ### xworkmate-app

View File

@ -67,9 +67,11 @@ ssh-keygen -y -f ~/.ssh/id_rsa >/dev/null
1. 触发 deploy workflow。 1. 触发 deploy workflow。
2. 确认 `Load Vault secrets` 成功。 2. 确认 `Load Vault secrets` 成功。
3. 确认 `Verify SSH connectivity` 成功。 3. 对需要应用层 auth token 的仓库,确认 workflow 有非敏感的必填校验步骤,例如 `Validate deploy secrets`
4. 确认远端安装步骤成功。 4. 确认 `Verify SSH connectivity``Prepare runner SSH access` 成功。
5. 如果需要验证安装版本,优先读取安装目录中的 `package.json.version`,不要直接解析 `npm ls -g` 的整行输出。 5. 确认远端安装步骤成功。
6. 确认 Ansible 或部署脚本的业务必填项 assert 通过。
7. 如果需要验证安装版本,优先读取安装目录中的 `package.json.version`,不要直接解析 `npm ls -g` 的整行输出。
## 故障处理 ## 故障处理
@ -77,8 +79,11 @@ ssh-keygen -y -f ~/.ssh/id_rsa >/dev/null
- `Permission denied (publickey)`:本地用同一把私钥先执行 SSH 验证,再更新 Vault。 - `Permission denied (publickey)`:本地用同一把私钥先执行 SSH 验证,再更新 Vault。
- `vault-action``valid path and key`:检查 `secrets` 每一行之间是否用 `;` 分隔。 - `vault-action``valid path and key`:检查 `secrets` 每一行之间是否用 `;` 分隔。
- git/source 安装后版本校验误判:读取 package manifest 的 `version` 字段。 - git/source 安装后版本校验误判:读取 package manifest 的 `version` 字段。
- Ansible 报业务 token assert 失败:检查 workflow 是否把 Vault 字段写入实际部署变量,例如 `INTERNAL_SERVICE_TOKEN` -> `BRIDGE_AUTH_TOKEN`
- OpenClaw session smoke 超时:先区分会话启动失败和轮询无 native task record。若 `session.start` 已返回 OpenClaw run handle`xworkmate.tasks.get` 返回 `no_native_task_record`可按“session 启动合同通过、无 native task record 可轮询”处理,不应让 deploy 验收等待到超时。
## 已验证记录 ## 已验证记录
- `openclaw-multi-session-plugins` deploy run 已通过。 - `openclaw-multi-session-plugins` deploy run 已通过。
- `xworkmate-bridge` 已补齐 workflow 与 Vault 字段,后续 deploy run 应按同一模式验收。 - `xworkmate-bridge` 已补齐 workflow 与 Vault 字段,并通过 apply deploy run 验收:
- `https://github.com/ai-workspace-lab/xworkmate-bridge/actions/runs/27060962558`