GitHub操作:如何从WORKFLOW_DISPATCH事件运行在非主分支上创建的工作流? [英] Github Actions: how to run a workflow created on a non-master branch from the workflow_dispatch event?

查看:6
本文介绍了GitHub操作:如何从WORKFLOW_DISPATCH事件运行在非主分支上创建的工作流?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能帮我了解Github操作选项卡的行为吗?作为处理第三方存储库的操作的新手,我希望能够在分支上创建操作并在WORKFLOW_DISPATCH事件上执行它。我没有成功做到这一点,但我发现了以下几点:

  • 操作选项卡将根据与上次执行的工作流相关的分支更改查找工作流和操作代码的分支。例如,如果使用运行工作流按钮从操作选项卡执行某些工作流,并且将使用来自的工作流下拉菜单设置为某个分支,则操作选项卡左侧的工作流面板的内容将取自分支A的.githorb/版本。
  • 此工作流具有WORKFLOW_DISPATCH事件触发器。文本不随分支更改。似乎取自大师。或者,它可能是从最后一组结果中提取的。我没有测试过这一点,因为无论哪种方式,这都不是有益的行为。

解决方法是在推送事件上执行,这是可以的,但这似乎与Github的高标准设计不符。

上述说法听起来是不是a)大致正确,b)无论你从哪个角度来看,都不是最优行为?或者,是否有更好的方法来构建和测试操作?

推荐答案

  • 看起来像您所描述的那样工作
  • 当您在非主分支上运行工作流,并且此分支上的工作流名称更改为新名称时,文本似乎会更改...

这个工作流名称更改真的很奇怪。我找不到任何描述此行为的文档。

测试工作流

测试前需要做的一件事是将具有相同文件名的虚拟工作流实际添加到main/master。如果没有此工作流,则不会显示在操作选项卡中。

测试方法:

  1. 创建虚拟Readme.md和一些虚拟.github/workflows/workflow.yml以进行测试:
    name: Test run v1
    
    on:
      workflow_dispatch:
    
    jobs:
      test:
        runs-on: ubuntu-18.04
        steps:
          - name: Show environment v1
            run: env | grep ^GITHUB
          - name: Show ref v1
            run: echo "===============> Version from $GITHUB_REF"
    
  2. 推送到默认分支(可能是mainmaster)
  3. 应在此处显示新操作
  4. 您现在可以运行虚拟工作流

测试分支运行:

  1. 从默认回购分支创建新分支test-branch
  2. 修改工作流文件.github/workflows/workflow.yml
    name: Test run v2
    
    on:
      workflow_dispatch:
    
    jobs:
      test:
        runs-on: ubuntu-18.04
        steps:
          - name: Show environment v2
            run: env | grep ^GITHUB
          - name: Show ref v2
            run: echo "===============> Version from $GITHUB_REF"
    
  3. 提交并推送到test-branch
  4. 转到Actions
  5. 单击Test run v1并将Use workflow from设置为test-branch
  6. 单击运行工作流按钮

您应该看到与默认Repo分支工作流版本不同的步骤名称,以及不同的GITHUB_REF

奇怪的是,在test-branch上运行工作流后,不知何故没有合并任何内容,我以前的工作流(从默认的repo分支)将名称更改为新版本。

这篇关于GitHub操作:如何从WORKFLOW_DISPATCH事件运行在非主分支上创建的工作流?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆