Как создать PR только для matchedDependencies с Renovate

Я хочу создать запрос на слияние только для указанных ниже зависимостей. Все остальные зависимости не следует учитывать. В приведенной ниже конфигурации этого не происходит, потому что я получаю отдельные PR для всех зависимостей, которые не соответствуют указанным мной правилам. Например, я получаю PR для SimpleInjector. Как я могу получить один PR только для совпадающих зависимостей, но не для других PR, без создания явных правил исключения для каждой зависимости?

        "packageRules": [
    {
      "matchPackagePatterns": [
        "System.*",
      ],
      "excludePackageNames": ["Microsoft.CodeAnalysis.FxCopAnalyzers"],
      "matchUpdateTypes": [
        "minor",
        "patch"
      ],
      "groupName": "non major",
      "groupSlug": "non-major"
    }
  ]
}

2 ответа

Решение

Необходимо знать две вещи, которые сыграли ключевую роль в решении этой проблемы:

  • Правила оцениваются сверху вниз
  • Все зависимости обновляются по умолчанию

Приведенная ниже конфигурация сначала отключает все зависимости, а затем снова выборочно включает некоторые зависимости:

      "packageRules": [
    {
      "matchPackagePatterns": ["*"],
      "enabled": false
    },
    {
      "matchPackagePatterns": [
        "System.*",
      ],
      "enabled": true
    },
    {
      "matchUpdateTypes": [
        "minor",
        "patch"
      ],
      "groupSlug": "non-major"
    }
  ]

Читайте здесь: https://docs.renovatebot.com/configuration-options/#packagerules

Важно знать: Renovate оценит все packageRules и не остановится после первого совпадения. Вы должны упорядочить свои packageRules в порядке возрастания важности, чтобы более важные правила появлялись позже и могли переопределять настройки из более ранних правил, если это необходимо.

Другие вопросы по тегам