如何配置单个GitHub Action不阻止Pull Request合并?
如何让单个GitHub Action任务失败不阻止PR合并
你可以通过两种方式实现需求,让指定的测试任务失败后不影响PR合并:
方法1:在工作流配置中设置任务忽略失败
在对应的GitHub Actions工作流YAML文件里,给那个未上线功能的测试任务添加continue-on-error: true配置。这样该任务即使执行失败,也不会导致整个工作流标记为失败,自然不会触发合并阻止。
示例配置:
name: PR Tests on: pull_request: types: [opened, synchronize] jobs: gh-action-1-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: # 这里放你的测试1执行命令 gh-action-2-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: # 这里放你的测试2执行命令 gh-action-3-tests: runs-on: ubuntu-latest continue-on-error: true # 关键配置,忽略该任务的失败状态 steps: - uses: actions/checkout@v4 - run: # 这里放你的未上线功能测试命令
方法2:调整分支保护规则的必需检查项
如果你的仓库设置了分支保护规则,可以只把需要严格校验的前两个测试任务设为“必需检查”,排除第三个任务:
- 进入仓库的「Settings」→「Branches」→「Branch protection rules」
- 找到目标分支的保护规则,在「Require status checks to pass before merging」选项下,仅勾选
gh-action-1-test和gh-action-2-tests,不勾选gh-action-3-tests - 保存规则即可
无论用哪种方法,都能实现你想要的效果:当GH Action 1和2测试通过、GH Action 3测试失败时,PR仍允许合并。
内容的提问来源于stack exchange,提问作者Todd Drinkwater
相关产品推荐
相关产品推荐

