现象
使用 qtcloud-devops v0.11.0 对 quanttide/qtcloud-course 执行:
```bash
qtcloud-devops release publish -v provider/v0.1.1-alpha.3 -y
```
- 本地 tag 已创建并推送成功、GitHub Release 创建成功
- 但监听 `push: tags: provider/` 的 Deploy Provider 工作流从未被创建 run**
- 查询 `actions/runs?branch=provider/v0.1.1-alpha.3` 在发布后约 7 分钟内持续返回 0 条
时间线(2026-08-26 UTC)
| 时间 |
事件 |
| 16:36 |
changelog 提交推送 main,PushEvent 正常出现在 events 流 |
| ~16:43 |
publish:tag 推送 + Release 创建(published 16:43:34) |
| 16:43–16:50 |
无任何新 Actions run;events 流中无 refs/tags PushEvent(仅 main 的 PushEvent 与 ReleaseEvent) |
| 16:50:37 |
手动删除远端 tag(DeleteEvent 出现) |
| 16:50:40 |
`git push origin provider/v0.1.1-alpha.3` 重推 |
| 16:52 |
Deploy Provider run 立即出现并执行(全绿) |
同样的重推补救之前 alpha.2 的部署缺失也成功了(该版本有 Release 但从未有部署记录)。
分析
- 对照 crates.io 0.11.0 源码与本地 HEAD,`execute_release` 顺序均为 create_tag → push_tag → create_release,顺序正确;push_tag 失败会回滚且不会走到 create_release。
- 因此怀疑是 GitHub 侧 tag ref 更新的 push 事件偶发丢失(可能与「Release 自动建 tag」机制竞态有关),或事件接收延迟超过观测窗口。
建议
- publish 收尾校验:push_tag 成功后用 `git ls-remote origin refs/tags/` 验证远端存在;并可选轮询 GitHub API `actions/runs?branch=` 数秒确认目标工作流已被调度,超时则提示用户删 tag 重推。
- 建议 release 输出增加明确提示:若下游 CI 监听 tag 而发布后未见 run,可执行
```
git push origin :refs/tags/ && git push origin
```
补发 push 事件。
环境
- cli 版本:qtcloud-devops-cli 0.11.0(crates.io 二进制,crates 源码核对一致)
- 仓库:quanttide/qtcloud-course,Deploy Provider 触发器为 `push.tags: provider/**`
现象
使用 qtcloud-devops v0.11.0 对 quanttide/qtcloud-course 执行:
```bash
qtcloud-devops release publish -v provider/v0.1.1-alpha.3 -y
```
时间线(2026-08-26 UTC)
同样的重推补救之前 alpha.2 的部署缺失也成功了(该版本有 Release 但从未有部署记录)。
分析
建议
```
git push origin :refs/tags/ && git push origin
```
补发 push 事件。
环境