【问题标题】:Can I exclude directories from GitHub Dependabot?我可以从 GitHub Dependabot 中排除目录吗?
【发布时间】:2020-12-13 12:08:38
【问题描述】:

我的仓库中有一个目录/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,它碰到了 /experiments 中的一个依赖项。它是自动合并的,所以我不费吹灰之力,但还是有点烦人。

我怎样才能做到这一点?

【问题讨论】:

  • 我们的概念证明和 Dependabot 存在完全相同的问题。我也没有找到任何解决方案。
  • 刚刚找到解决办法,请看下面我的回答。

标签: github npm automation dependabot


【解决方案1】:

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

【讨论】:

  • 感谢您的信息!真可惜:-|但现在至少我们知道在哪里游说这个功能 XD
【解决方案2】:

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

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

例如以下配置将使 Dependabot 仅扫描 .github/workflows/ 文件夹中的 GitHub Actions、存储库根目录中的 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"

【讨论】:

  • 这似乎不正确:Dependabot 似乎递归查找 package.json 文件,因此此配置也将包含 /experiment
  • 你确定吗?当我尝试此配置时,它仅检查已配置目录的根目录。
  • 有人可以澄清一下吗?
  • Maria Ines Parnisari 刚刚发布了答案,并附有 GitHub 上相应讨论的链接 --> 从今天开始不可能:-(
猜你喜欢
  • 2022-08-16
  • 2015-07-07
  • 2021-07-23
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多