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

PR依赖其他Workflow时所需检查未执行问题求助

问题原因及修复方案

核心问题

你配置的build和deploy使用workflow_run触发,这类Workflow属于仓库级独立运行,不会与发起的PR建立关联。因此GitHub分支保护规则里要求的检查项,无法识别到这两个Workflow的运行状态,导致PR一直显示它们处于expected状态,无法完成合并。

修复步骤

需要调整Workflow的触发方式和依赖逻辑,让build、deploy直接作为PR的检查项,同时保持它们对上游Workflow的依赖:

1. 修改test.yml,允许被其他Workflow调用

保留PR触发逻辑的同时,添加workflow_call声明,让它可以被build调用:

name: GameCI Tests in EditMode
on:
  pull_request:
    branches: [main, development]
  workflow_call: # 允许跨Workflow调用

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      # 你的测试步骤(保持原有内容不变)

2. 调整build.yml:直接关联PR触发+依赖test

将触发源改为PR到main,同时通过needs依赖test Workflow,确保只有test成功后才运行build:

name: GameCI Build
on:
  pull_request:
    branches: [main]
  push:
    branches: [main] # 可选:合并到main后自动触发build(按需保留)

jobs:
  build:
    runs-on: ubuntu-latest
    needs: [GameCI Tests in EditMode] # 依赖test Workflow
    steps:
      # 你的构建步骤(保持原有内容不变)

3. 调整deploy.yml:直接关联PR触发+依赖build

同理,让deploy在PR到main时触发,并依赖build Workflow:

name: GameCI Deploy
on:
  pull_request:
    branches: [main]
  push:
    branches: [main] # 可选:合并到main后自动触发deploy(按需保留)

jobs:
  deploy:
    runs-on: ubuntu-latest
    needs: [GameCI Build] # 依赖build Workflow
    steps:
      # 你的部署步骤(保持原有内容不变)

4. 确认分支保护规则

确保main分支的保护规则里,已添加GameCI Tests in EditMode、GameCI Build、GameCI Deploy这三个检查项。

额外注意点

如果你的dev分支实际名称是dev而非development,需要同步修改test.yml里的branches: [main, dev],避免分支名不匹配导致触发异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:15:06