我想阻止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"
},
...
]