首页 > 解决方案 > GitHub 操作,我如何才能让作业仅在包含代码更改的文件夹中运行?

问题描述

GitHub 操作,我如何才能让作业仅在包含代码更改的文件夹中运行?

我有一个 monorepo,它让许多项目的文件夹结构不相同或不一致。

我想以这样的方式运行一些 GitHub 操作,以便它们只在更改的文件夹中执行。

我清理过的代码看起来像

jobs:
  format:
    runs-on: ubuntu-latest
    name: Update release docs
    steps:
      - name: Checkout repo
        uses: actions/checkout@v2
      - name: tf_docs
        uses: Dirrk/terraform-docs@v1.0.8
        with:
          tf_docs_working_dir: .
      - name: create_int_readme
        uses: mja/intreadme@v1.0.0
        with:
          scan_folder: .
      - name: update_perms
        uses: mja/update_perma@v1.0.0
        with:
          folder: .

我认为通过设置:

    paths:
    - "**/*"

它将递归地扫描文件夹以进行更改,并通过将各种文件夹参数设置为。它会选择当前的工作文件夹。但是,所有内容都从根文件夹运行并在那里输出结果,而不是包含实际更改的文件夹。

我确实考虑过以某种方式设置一个环境变量来包含已经改变的路径的值,然后将这个值传递给作业,但是。但逻辑逃脱了我。

那么如何才能让作业仅在包含代码更改的文件夹中运行呢?

标签: github-actions

解决方案


推荐阅读