通过工作流程运行时拉取请求未检测到操作

pig*_*own 9 continuous-integration pipeline github github-actions

我的存储库中有 2 个工作流程:

\n
name: First\n\non:\n  pull_request:\n    branches: [ master ]\n\njobs:\n  test:\n    name: test\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n   \n    - name: Set up Go\n      uses: actions/setup-go@v2\n      with:\n        go-version: 1.16\n\n    - name: Test\n      run: go test -v ./...\n
Run Code Online (Sandbox Code Playgroud)\n

\n
name: Second\n\non:\n  workflow_run:\n    workflows: ["First"]\n    types:\n      - completed\n\njobs:\n  golangci:\n    if: ${{ github.event.workflow_run.conclusion == 'success' }}\n\n    name: lint\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - name: golangci-lint\n        uses: golangci/golangci-lint-action@v2\n        with:\n          version: latest\n\n
Run Code Online (Sandbox Code Playgroud)\n

仅当第一个工作流程成功完成时才会启动第二个工作流程。这部分有效。

\n

我已经设置了分支规则,以便“master”上的任何拉取请求都必须通过这两个工作流程。当我制作/更新 PR 时,两个工作流程都会按预期运行。但是 PR 从未检测到第二个工作流程已运行。它陷入“预期 \xe2\x80\x94 等待状态报告”状态。

\n

我认为这是因为第二个工作流程不是由拉取请求触发的,而是由前一个工作流程触发的。有没有办法让我的第二个工作流程通知正确的拉取请求它已完成?

\n

(这是一个简单的示例,说明了在具有多个工作流程的更大存储库上发生的问题,将所有作业都放在大型存储库的一个工作流程中并不理想)。

\n

谢谢

\n

小智 -2

我认为您指定主分支的方式不正确。我认为你应该在你的工作流程中尝试这样的操作:

on:
  # Trigger the workflow on pull request,
  # but only for the master branch
  pull_request:
    branches:
      - master
Run Code Online (Sandbox Code Playgroud)

参考:Github 文档