如何强制CircleCI在创建新PR时重新运行工作流?
解决方案
方案1:自动触发(永久生效)
修改仓库根目录下的.circleci/config.yml文件,调整工作流触发规则,显式添加pull_request事件监听即可实现新建PR时自动触发工作流,参考配置如下:
workflows: 替换为你的工作流名称: jobs: - 替换为你的实际Job名称 # 新增触发规则配置 on: push: branches: - main # 可根据实际保护分支规则调整,仅主分支推送时触发工作流 - develop pull_request: # opened对应新建PR时触发,synchronize对应PR有新提交时触发,reopened对应PR重新打开时触发 types: [opened, synchronize, reopened]
调整配置后,只要符合规则的PR被新建/重新打开/更新提交,无论对应提交之前是否运行过工作流,都会自动触发新的工作流,代码覆盖率评论逻辑也会正常执行。
如果不需要特性分支推送时就运行工作流,可以直接删除push触发规则,所有特性分支的工作流仅在关联PR后触发,还能减少CircleCI运行配额的消耗。
方案2:手动触发(临时适配已创建的PR)
针对已经创建完成、没有触发覆盖率评论的PR,可以手动触发工作流重跑:
- 打开GitHub对应PR页面,在检查项区域找到CircleCI对应的状态条目,点击右侧的重新运行按钮即可
- 也可以进入CircleCI控制台,找到对应提交的历史工作流记录,点击「Rerun workflow from start」完整重跑全量工作流
内容的提问来源于stack exchange,提问作者Carven
相关产品推荐
相关产品推荐

