我想要用可重用工作流(reusable workflow)来抽象一些 GitHub Actions。
为了做到这一点,我需要以 {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
属性中使用,这是不可能的。
我该如何实现?
@
符号后使用tag
、branch ref
或commit hash
,就像使用任何操作一样。(这里有其他人遇到了相同的问题:https://dev59.com/vVEG5IYBdhLWcg3wP39V) - GuiFalourduses: ./.github/workflows/...
。请参见 https://dev59.com/vVEG5IYBdhLWcg3wP39V#71067823 以及其中的链接。 - Rene Hamburger