如何从子目录运行多个GitHub Actions工作流

时间:2020-09-22 12:16:11

标签: github workflow github-actions

我在./github/workflows/中有3个目录

  • 衬里
  • functionalTests
  • unitTests

在每个目录中,我都有多个工作流.yml文件,例如linters/codeQuality.yml

我的问题是,当发出拉取请求时,仅执行根目录中的工作流文件,而不执行这些目录中的工作流文件。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您不能从子目录运行工作流:

您必须将工作流文件存储在存储库的.github/workflows目录中。

来源: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#about-yaml-syntax-for-workflows


不过,您可以使用复合运行步骤操作documentation)。

.github/workflows/workflow.yaml

[...]

jobs:
  myJob:
    name: My Job
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - uses: ./.github/workflows/linters/codeQuality

[...]

.github/workflows/linters/codeQuality/action.yaml

name: "My composite action"
description: "Checks out the repository and does something"
runs:
  using: "composite"
  steps: 
  - run: |
      echo "Doing something"

  [other steps...]