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

如何让GitHub Actions部署工作流在发布触发的测试工作流后执行?

解决GitHub Actions部署工作流无法被Release触发的测试工作流唤起的问题

问题核心是:当通过Release触发测试工作流时,GitHub会把工作流的显示名称替换成Release标签(比如v1.2.3),但部署工作流的workflow_run规则用的是工作流的显示名称run-tests来匹配,导致匹配失败。

直接解决方案

把部署工作流中workflows字段的值从工作流显示名称改成测试工作流的文件路径,这样不管触发场景下显示名称怎么变,都能精准匹配到对应的工作流。

修改后的部署工作流配置示例:

name: deploy
on:
  workflow_run:
    workflows: [".github/workflows/run-tests.yml"] # 替换为你的测试工作流实际文件路径
    branches: [main]
    types:
      - completed
jobs:
  deploy:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    # 这里写你的部署步骤

原因说明

GitHub Actions中,workflow_run的workflows字段既可以填工作流的显示名称,也可以填工作流文件的相对路径。当用显示名称时,会受触发场景影响(比如Release触发时会被替换为标签名),而文件路径是固定不变的,用它来匹配工作流更可靠,不会出现名称不匹配的问题。

另外要确认:测试工作流触发时的分支确实是main(如果你的部署工作流限制了branches: [main]),如果Release是从其他分支创建的,需要调整这个分支规则或者移除它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:02:32