Workflows: Cleaner Docker builds, support for manual exec and pre-release#4809
Workflows: Cleaner Docker builds, support for manual exec and pre-release#4809
Conversation
Meo597
commented
Jun 11, 2025
- 中间产物用 digest 而非 -usa 这种临时标签来标记,这样不污染 registry,专治 @RPRX 强迫症
- pre-release 时不打 latest 标签,只有版本号
- pre-release 转为 latest 时自动打 latest
- 支持手动运行

|
prereleased 事件有 bug,如果开个草稿再转发布,不能正常触发事件 因此只能监听 published,它在 pre 草稿转发布时能正常触发 然后同时监听这两个,又会出问题,因为 published 包括 released 所以要加判断把直接发 latest release 时触发的 published 构建取消掉 另一个设计缺陷是 github.event.release.prerelease 如果用 github rest api 去获取状态太麻烦了 但是这样的话如果 v2.0.0 被设为 latest,然后把 v1.0.0 的 pre 改为 什么都不选 而且较真起来的话,因为事件只能被触发一次 现在的做法在保证代码简单的情况下,覆盖了常规场景 总结一下, 没问题的场景:
可能需要手动运行 workflow 的场景:
|
|
|
|
|
这个包稳的 测试覆盖率 100%,各种刁钻场景都考虑过了 所以提工单的时候可以直接删整个 package,这样或许他们好操作一点 自上次破坏性重构以来 目前我还发现 docker 版因为编译参数缺少 git hash 另外 teddysun 的镜像用私人服务器编译,有被黑供应链投毒风险 |
|
@Meo597 出事故了,v25.7.25 是直接 release,镜像编译失败 |
|
re-run 无效,但我把它改为 pre 又改为非 pre 的那一刻,它开始编译了 |
|
成功了,也自动被设为了 latest,但就是说直接 release 非 pre 这种情况需要一个修复 |
不知道为什么又没取到 ref,这个是你发版的 tag 号 要么手动运行,要么 pre 来回改就能触发个新任务就没问题了 这是 github 偶发性 bug 我等下看看别的项目都是怎么获取 tag 的 |
|
https://github.com/orgs/community/discussions/64528#discussioncomment-12978855
GitHub 的意思是:我知道我们有 BUG,正在研究,建议用 |

