我可以从 GitHub Dependabot 中排除目录吗?

Can I exclude directories from GitHub Dependabot?

我的存储库中有一个目录 /experiments,其中包含 - 惊喜! - 实验。这些通常带有自己的 package.json,其中包括在我进行实验时是最新的但现在可能已经过时的依赖项。我无意让它们保持最新,因为实验只是概念的证明——我可能想在项目的后期使用这些概念,但我会在主项目中重新实施。

不幸的是,Dependapot 向我发送了很多关于 /experiments 中的依赖项的 PR。其中许多需要我手动操作。所以我想告诉 Dependabot 不要发送任何通知或为 /experiments 目录中的所有内容创建 PR(但要继续为主项目中的依赖项创建 PR)。

我并没有找到太多关于如何在 GitHub 上配置 Dependabot 的文档,但我想到了这个:

/.github/dependabot.yml:

version: 2
updates:

  # Ignore experiments:
  - package-ecosystem: "npm"
    directory: "/experiments"
    schedule:
      interval: "daily"
    ignore:
      - dependency-name: "*"

不过好像不行。今天,我收到了来自 Dependabot 的另一个 PR,该 PR 影响了 /experiments 中的一个依赖项。它是自动合并的,所以我没有任何努力,但还是有点烦人。

我该怎样做才对?

我刚刚在这个 GitHub 问题中找到了答案:https://github.com/dependabot/dependabot-core/issues/2276

它说没有排除文件夹的配置,但您可以在 .github/dependabot.yml 配置文件中包含这些文件夹。 Dependabot 将仅扫描其配置中包含的文件夹。

例如以下配置将使 Dependabot 仅扫描 .github/workflows/ 文件夹中的 GitHub 操作、存储库根目录中的 package.jsonclient 中的 package.json文件夹。这样,experiments 文件夹将不会被扫描。

version: 2
updates:
  # --- GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"

  # --- Root
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
  
  # --- Client package
  - package-ecosystem: "npm"
    directory: "/client"
    schedule:
      interval: "daily"

截至 2022 年 2 月,这似乎不可能:https://github.com/dependabot/dependabot-core/issues/4364