GitHub Actions支持运行针对特定分支的拉取请求的工作流,但必须指定分支的名称,因此如果我们希望它在默认分支名为main
的存储库上运行:
pull_request:
branches:
- main
我想知道是否有一种方法可以在多个存储库之间共享相同的工作流,而无需要求每个存储库指定其默认分支名称,并且工作流可以在重命名默认分支时工作。有没有一种方法可以在将请求拉取到默认分支时运行工作流,而无需在这些存储库中指定所有可能的默认分支名称,如下所示?
我想避免:
pull_request:
branches:
- main
- master
- develop
- dev
- i-dont-know-what-else
- ${{ remember-to-update-this-after-renaming-default-branch }}
我尝试列出所有可能的默认分支名称并使用变量,但这些并不优雅。
您可以使用条件github. ref==github.event.reposity来实现这一点。default_branch
。
这是一个仅在PR合并到默认分支时运行的示例。
on:
pull_request:
types:
- closed
jobs:
example:
if: github.event.pull_request.merged && github.ref == github.event.repository.default_branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3