我的存储库中有 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/