-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Workflows: Cleaner Docker builds, support for manual exec and pre-release #4809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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,正在研究,建议用 |