我正在使用GitHub存储库上的Renovate来保持依赖关系的更新。我想要自动修改补丁和小版本,但是我希望使用stabilityDays设置让小版本成熟几天。这似乎适用于此配置:
"minor": {
"automerge": true,
"stabilityDays": 3,
"prCreation": "not-pending"
},
"patch": {
"automerge": true,
"stabilityDays": 0
},
"major": {
"automerge": false
}, 我在回购中使用ossf/scorecard-action打开了安全代码扫描,使用“记分卡”,安全扫描发现了一些有用的缓解路径。其中一项建议是使用SHA摘要值来插入Docker依赖项,而不是版本号。
例如,
uses: actions/checkout@v3变成了
uses: actions/checkout@d0651293c4a5a52e711f25b41b05b2212f385d28感觉更安全所以我喜欢。但是现在更新后的PRs不再像以前那样自动更新了--bot给我留下了这样的信息:当我不使用SHA摘要时,PR会自动处理这个消息:
Automerge: Disabled by config. Please merge this manually once you are satisfied.在此之前,它会说:
Automerge: Enabled.我如何配置更新以支持更好的安全性和更少的噪音和较少的人工干预,同时不允许主要版本的自动化?
我认为
"digest": {
"automerge": true,
"stabilityDays": 3,
"prCreation": "not-pending"
},会为SHA摘要键所固定的依赖项打开automerge,但现在我认为主要的版本更改将自动完成,我不想这样做。
我已经仔细研究了文档和其他这样的帖子,但是没有办法解决这个问题。
我怎样才能拥有SHA钉扎的宁静和小型和补丁自动生成的方便?
发布于 2022-06-11 17:31:32
这个问题的答案是,当您使用摘要版本来锁定依赖项时,您可以配置更新以遵循您喜欢的主要/次要/修补程序自动逻辑。
诀窍是在依赖摘要版本之后使用注释。
因此,如果您不想自动更改主要版本,并且希望给小更新一个三天的稳定周期,并且希望快速自动更新补丁,那么在编写摘要的同时,您可以在您的renovate.json配置中使用这样的内容:
"minor": {
"automerge": true,
"stabilityDays": 3,
"prCreation": "not-pending"
},
"patch": {
"automerge": true,
},
"major": {
"automerge": false
},
"digest": {
"automerge": true
},然后像这样使用tag=<version>注释命令,在其中我们使用摘要将actions/checkout@v3的verion固定在GitHub操作工作流中:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 带有摘要引脚的tag注释的存在告诉Renovatebot尊重任何主要/次要/补丁自动逻辑,并使注释标记中的版本与摘要版本保持一致。
感谢Renovatebot讨论委员会上的@viceice为我指出了这个答案。对我来说效果很好。
https://stackoverflow.com/questions/72425242
复制相似问题