我如何才能重用我目前正在处理的分支机构中的GitHub操作工作流? [英] How can I reuse a GitHub Actions workflow from the branch I'm currently working on?

查看:11
本文介绍了我如何才能重用我目前正在处理的分支机构中的GitHub操作工作流?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用reusable workflow抽象我的一些GitHub操作。

为此,我需要以{owner}/{repo}/{path}/{filename}@{ref}

格式调用新定义的可调用工作流

例如(来自文档)

jobs:
  call-workflow-1:
    uses: octo-org/this-repo/.github/workflows/workflow-1.yml@172239021f7ba04fe7327647b213799853a9eb89
  call-workflow-2:
    uses: octo-org/another-repo/.github/workflows/workflow-2.yml@v1

但是,实际上,我正在处理我的分支some-branch-name,其中我正在处理我的workflow-1.yml文件,我希望能够按照给定的

运行我的当前分支中定义的操作

`{ref}可以是SHA、版本标记或分支机构名称。

我似乎需要使用

jobs:
  call-workflow-1:
    uses: octo-org/this-repo/.github/workflows/workflow-1.yml@some-branch-name

但是,我希望此功能适用于任何分支机构,因此

jobs:
  call-workflow-1:
    uses: octo-org/this-repo/.github/workflows/workflow-1.yml@${{ github.ref }}

但事实证明,这不可能作为uses属性中的can't be used表达式。

如何实现此目标?

推荐答案

如您所说:目前无法完成,因为Github操作不支持具有uses属性的表达式。

没有解决办法(还没有?)因为此时工作流解释器(在您将工作流推送到存储库时也会检查工作流语法)无法从表达式中获取值。

如果解释器识别该工作流,它可能会工作,但它不会出现在Actions选项卡上,因为它被认为是无效的。

目前,您只能在@符号后使用tagbranch refcommit hash,与使用任何操作的方式相同。

Note that someone else had the same issue here

这篇关于我如何才能重用我目前正在处理的分支机构中的GitHub操作工作流?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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