提问者:小点点

无论默认分支的名称如何,如何在拉取请求到默认分支时运行GitHub Actions工作流?


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 }}

我尝试列出所有可能的默认分支名称并使用变量,但这些并不优雅。


共1个答案

匿名用户

您可以使用条件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