You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions的release created工作流触发不生效如何解决?

问题根因

GitHub出于防止工作流循环触发的安全限制,使用默认GITHUB_TOKEN执行的所有操作,都不会触发新的工作流运行。你在主发布工作流中使用${{ github.token }}调用softprops/action-gh-release创建release,自然不会触发另一个监听release: created事件的工作流。

另外你提供的主发布工作流还有两处语法/逻辑错误,也需要先修正:

  • actions/checkout@v2步骤的ref参数配置缺少结尾的},正确写法为ref: ${{ github.ref }}
  • 你在release步骤引用了steps.version.outputs.version作为release名称,但工作流中没有定义id: version的步骤来输出版本号,同时tag_name直接使用github.ref会生成指向main分支的异常标签,不符合常规版本发布规范。

解决方案

方案一:替换为个人访问令牌(PAT)(最常用)

  • 登录GitHub账号,进入「设置→开发者设置→Personal access tokens」,创建一个勾选repo权限的PAT
  • 进入对应仓库的「Settings→Secrets and variables→Actions」,将上述PAT新增为仓库机密,命名为REPO_PAT
  • 修改主发布工作流的release步骤,替换token参数:
- name: Release
  uses: softprops/action-gh-release@v1
  with:
    draft: false
    body_path: CHANGELOG.md
    name: ${{ steps.version.outputs.version }} # 需提前补充version输出步骤
    tag_name: ${{ steps.version.outputs.version }} # 替换为实际的版本标签
    token: ${{ secrets.REPO_PAT }} # 替换原来的github.token

修改完成后重新运行主工作流,新生成的release即可正常触发第二个工作流。

方案二:主工作流直接调用目标工作流

如果不想额外创建PAT,也可以在主发布工作流的release步骤执行完成后,直接通过workflow_call或者手动触发的方式调用第二个工作流,规避触发事件限制。

内容的提问来源于stack exchange,提问作者marcuse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:21:03