GitHub重跑PR标题校验Workflow时未读取新标题,求原因解释
问题原因及解决办法
原因
GitHub Actions重新运行历史Workflow实例时,会复用该实例触发时的事件上下文数据,不会重新拉取最新的PR状态。你第一次触发Workflow时,PR标题是"first attempt",这个数据已经被存在当时的run上下文中了,重新运行这个旧run时,依然会用旧标题做校验,自然还是失败。只有新增提交会触发新的Workflow run,此时才会获取最新的PR标题。
解决办法
- 自动触发新检查:修改Workflow的触发条件,添加
edited事件,这样PR标题修改时会自动触发新的Workflow run,无需手动操作或新增提交。修改后的触发配置如下:
on: pull_request: types: [opened, synchronize, edited]
- 手动触发新检查:不要重新运行旧的失败run,而是进入仓库的"Actions"页面,找到对应的Workflow,点击"Run workflow",选择PR对应的分支执行,这样新生成的run会获取最新的PR标题。
内容的提问来源于stack exchange,提问作者d4tm4x
相关产品推荐
相关产品推荐

