Как создать 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 в порядке возрастания важности, чтобы более важные правила появлялись позже и могли переопределять настройки из более ранних правил, если это необходимо.