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

标签 github continuous-integration pipeline github-actions

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

name: First

on:
  pull_request:
    branches: [ master ]

jobs:
  test:
    name: test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
   
    - name: Set up Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.16

    - name: Test
      run: go test -v ./...
name: Second

on:
  workflow_run:
    workflows: ["First"]
    types:
      - completed

jobs:
  golangci:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}

    name: lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: golangci-lint
        uses: golangci/golangci-lint-action@v2
        with:
          version: latest

只有在第一个工作流成功完成后才会启动第二个工作流。这部分有效。
我已经设置了分支规则,以便“master”上的任何拉取请求都必须通过这两个工作流。当我制作/更新 PR 时,两个工作流程都按预期运行。但是 PR 永远不会检测到第二个工作流已经运行......它陷入了“预期 - 等待报告状态”状态。
我认为这是因为第二个工作流不是由拉取请求触发的,而是由前一个工作流触发的。有没有办法让我的第二个工作流程通知正确的拉取请求它已经完成?
(这是一个简单的示例,它说明了在具有多个工作流的更大存储库上发生的问题,在大型存储库的一个工作流中拥有所有作业并不理想)。
谢谢

最佳答案

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

on:
  # Trigger the workflow on pull request,
  # but only for the master branch
  pull_request:
    branches:
      - master
引用:Github Docs

关于github - 通过工作流运行时,拉取请求未检测到操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68759990/

相关文章:

git - 如何重建 packed-refs 文件

azure - 如何在Azure函数上的持续部署中配置连接字符串

linux - 用于 odbc 连接 panic 的 alexbrainman/odbc golang 包

github - Github 用户 ID 的数据类型

scala - 如何在多列上使用 spark quantilediscretizer

python - Sklearn Pipeline - 如何在自定义 Transformer(不是 Estimator)中继承 get_params

.net - 组合多个 powershell cmdlet 输出

java - 持续集成工具 (TeamCity) 中的集成测试

F# 类型提供程序和持续集成

Jenkins/构建工作流程 : Provide result of one parallel executed job to multiple jobs