在 Renovate 中使用"group-all"合并请求时,如何排除特定依赖项的主要升级?



我想阻止Renovate对一些依赖进行主要升级,但仍然允许对这些依赖进行次要和补丁升级。。使用ignoreDeps完全排除它们,这不是最优的。我还需要在一个Gitlab合并请求中对每个运行的所有建议升级,因此使用单独的matchUpdateTypes组不适合我的用例。

是否有一种方法来实现我正在寻找的?

在一个使用Angular 14的项目中的具体例子中,Renovate不应该尝试升级到15,但仍然给我最新的14。x升级:

"@angular/router": "14.2.7",   // what I have now
"@angular/router": "14.2.10",  // what should be suggested
"@angular/router": "15.0.0",   // what should be avoided

我在所有repos中的一般包规则如下:

"packageRules": [
{
"groupName": "all dependencies",
"groupSlug": "all",
"matchPackagePatterns": [
"*"
],
"matchUpdateTypes": [
"major",
"minor",
"patch"
]
}
],

我在每个repo的renovate.json文件中指定要忽略的特定依赖项,如下所示:

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
"ignoreDeps": [
"@angular/router"
]
}
但是这会阻止所有更新。我尝试了一下模式,这只是完全忽略了配置:
// BROKEN
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
"major": {
"ignoreDeps": [
"@angular/router"
]
}
}

在回购层面覆盖packageRules也是不成功的。

你可以尝试这样做:

"packageRules": [
...
{
"matchPackageNames": ["@angular/router"],
"allowedVersions": "<15.0.0"
},
...
]

最新更新