Github Action 使用单独的工作流程文件添加“需求”

deb*_*bek 2 github github-actions

我有两个工作流程:

  • 工作流程1.yaml
  • 工作流程2.yaml

我需要在workflow2.yaml中添加类似的内容:

jobs:
  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
Run Code Online (Sandbox Code Playgroud)

目前“需要”无法正常工作。如何引用单独的工作流程 yaml 文件?

ret*_*hab 5

needs仅用于建立作业之间的关系,而不是整个工作流程。

如果您想在“workflow1.yaml”完成后运行“workflow2.yaml”,请添加一个触发器,如下所示:

on:
  workflow_run:
    workflows: [workflow1]
    types:
      - completed

jobs:
  build_kotlin
    # ...
Run Code Online (Sandbox Code Playgroud)

阅读有关触发工作流程的事件的更多信息

或者,您可以将工作流程 1 设为可重用工作流程,然后确保它在工作流程 2 之前执行,如下所示:

jobs:
  workflow1:
    uses: octo-org/example-repo/.github/workflows/workflow1.yaml@main

  build_kotlin:
    runs-on: [server1, server2, server3]
    needs: [workflow1]
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

Run Code Online (Sandbox Code Playgroud)