【发布时间】:2021-06-24 16:44:04
【问题描述】:
上下文如下:-
- 我配置了我的 GitHub CI 工作流程文件(YAML 文件),以便工作流程仅在某些目录发生更改时运行:
name: testing
on:
pull_request:
branches:
- develop
paths:
- 'dir_1/**'
- '!dir_1/README.md'
- 'dir_2/**'
- '!dir_2/README.md'
- 我在
develop分支上设置了一个分支保护规则,只有在状态检查成功时才可以合并到它。
现在,当我基于develop 分支创建一个分支时,对dir_3 进行一些更改(请注意它与YAML 文件代码sn-p 中提到的dir_1 和dir_2 不同),推送该分支并创建一个拉取请求,GitHub 期望状态检查完成并阻止合并,直到它们完成,如下所示:
当我检查 Actions 选项卡时,我发现没有任何操作正在运行。
所以合并被无限期阻止。我认为这是因为分支保护规则和 YAML 文件代码 sn-p 相互矛盾(分支保护规则正在等待状态检查完成,但由于 YAML 文件的限制,没有运行状态检查)。我有以下问题:-
- 我的推理正确吗?
- 如果是,有没有办法保护某个分支的某些子目录而不是 GitHub 上的整个分支?如果“受保护的子目录”未更改,我想允许合并。
- 如果 1 为是,2 为否,如果 YAML 文件中未指定的子目录发生更改,是否有其他方法允许合并(同时保留分支保护规则)?
感谢您抽出宝贵时间阅读问题。
在谷歌搜索这个问题时,我发现了这个result,但它不是很有帮助。
【问题讨论】:
标签: github github-actions