我想请有经验的人帮忙理解Github Actions选项卡的行为。作为一个新手在第三方代码库上使用Actions,我想创建一个分支上的Action,并在workflow_dispatch事件上执行它。但是我没有成功,但我发现以下内容:
- Action选项卡将根据与最后执行的工作流相关的分支更改找到工作流和操作代码的分支。例如,如果某个工作流使用“Run Workflow”按钮从Action选项卡执行,并且“Use Workflow From”下拉列表设置为某个分支Branch-A,则左侧操作选项卡中的“Workflows”面板的内容将从Branch-A的版本的.github/获取。
- “This workflow has a workflow_dispatch event trigger.”文本不会随着分支的更改而更改。它似乎来自master。或者,它可能来自上一组结果。我没有进行测试,因为无论哪种方式,它都不是有用的行为。
解决方法是在push事件上执行,这还可以,但这似乎与Github的高标准设计不符。
以上行为听起来a)大致正确,b)无论如何看待,都不是最佳行为吗?还是,有更好的构建和测试actions的方法吗?
workflow_dispatch
,在工作流程运行一次之前,它将无法工作。您可以添加一个推送事件钩子,然后在运行一次后它将被激活。使用gh workflow list
命令,您可以在工作流程运行一次后的列表中看到该任务。 - Dustingh
存在。谢谢。但是就像 @Dustin 所写的那样,可悲的是它不能用于以前没有运行过的新创建的工作流程。我通过在新分支上创建新的工作流文件并运行gh workflow run workflow-test.yml --ref=feat/wf-dispatch-cli-test
进行测试,结果只显示could not find any workflows named workflow-test.yml
。然而,它可以轻松查看此新分支上的旧工作流程。 - piotrekkrpull_request:
并推送文件。这将注册工作流(可以通过gh workflow list
查看)。接着运行gh workflow run 'My Workflow Name' --ref branch-name
。注意,这里的名称是实际工作流的名称,而不是yaml文件的名称。 - hayesgm