如何运行仅存在于分支中的GitHub Actions工作流?
在分支中测试GitHub Actions工作流的方法
测试未合并到main的分支工作流
如果你的工作流仅存在于当前开发分支,有两种方式直接运行它:
1. 利用自动触发事件
如果你的工作流文件(比如.github/workflows/your-workflow.yml)里配置了push或pull_request这类触发事件:
- 直接将当前开发分支推送到远程仓库,GitHub会自动读取该分支下的工作流定义并执行。
- 或者创建一个从当前分支指向
main的Pull Request,PR创建后会自动触发该分支的工作流运行,方便你在合并前验证结果。
2. 手动触发(需配置workflow_dispatch)
如果希望手动控制运行时机,可以在工作流文件中添加workflow_dispatch触发条件:
on: workflow_dispatch: # 可选:定义输入参数 inputs: environment: description: '运行环境' required: true default: 'test'
配置完成后:
- 推送当前分支到远程。
- 打开GitHub仓库的Actions页面,在页面顶部的分支选择器中切换到你的开发分支(因为
main分支还没有这个工作流,所以只有切换到开发分支才能看到它)。 - 找到你开发的工作流,点击Run workflow,选择当前分支后即可触发运行,此时执行的完全是该分支下的工作流逻辑。
关于合并后运行分支代码的说明
当工作流合并到main分支后,如果你在Actions页面选择其他分支运行该工作流,GitHub会执行main分支里的工作流定义,仅在checkout步骤拉取你选择的分支代码。这是因为触发的是main分支中已存在的工作流,其逻辑由main分支的工作流文件决定。
如果要运行其他分支中修改后的工作流,必须先切换到对应的分支,再通过上述自动或手动方式触发——此时GitHub会读取该分支下的工作流文件来执行。
内容的提问来源于stack exchange,提问作者Don Chambers
相关产品推荐
相关产品推荐

