【发布时间】:2021-10-15 23:25:57
【问题描述】:
我的存储库中有 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”上的任何拉取请求都必须通过这 2 个工作流。当我制作/更新 PR 时,两个工作流都按预期运行。然而,PR 从未检测到第二个工作流已经运行。它卡在“预期 - 等待状态报告”状态。
我认为这是因为第二个工作流不是由拉取请求触发的,而是由前一个工作流触发的。有没有办法让我的第二个工作流通知它已完成的正确拉取请求?
(这是一个简单的示例,说明了在具有多个工作流的更大存储库上发生的问题,在大型存储库中的一个工作流中包含所有作业并不理想)。
谢谢
【问题讨论】:
-
我试图指出这样的结帐步骤:
with: ref: ${{ github.event.workflow_run.head_branch }}或${{ github.event.workflow_run.head_sha }}但似乎也没有任何效果
标签: github continuous-integration pipeline github-actions