如何配置Dependabot忽略Golang的预发布及候选发布版本?
问题
我正尝试配置Dependabot以保持项目的Golang版本更新,但最近收到了它发起的将Golang版本更新至候选发布版(RC)的PR,这并非我们想要的。
我的dependabot.yml配置如下:
- package-ecosystem: "gomod" directory: "/" schedule: interval: "weekly" allow: - dependency-name: "golang" ignore: - dependency-name: "golang" versions: ["*.*.*-rc.*"]
该配置触发了错误:The property '#/updates/0/ignore/0/versions' includes invalid version requirements for a docker ignore condition
我还尝试了以下几种配置方式,但均未生效:
versions: ["*.*.*-rc.*"]versions: ["x.x.x-rc.x"]versions: ["version-update:semver-pre-release"]
请问如何忽略beta、alpha、pre及rc等预发布版本?
解决方案
针对gomod生态的Dependabot配置,要忽略所有预发布版本,不能把规则放在versions数组里,而是要通过update-types字段指定version-update:semver-pre-release规则。
正确的配置示例:
- package-ecosystem: "gomod" directory: "/" schedule: interval: "weekly" allow: - dependency-name: "golang" ignore: - dependency-name: "golang" update-types: ["version-update:semver-pre-release"]
关键说明
- 之前的错误是因为误用了Docker生态的版本匹配规则,gomod的预发布版本忽略逻辑依赖
update-types字段,而非versions数组。 version-update:semver-pre-release规则会自动匹配所有带alpha、beta、rc、pre等后缀的预发布版本,无需手动编写通配符。- 确保
update-types与dependency-name同级,属于同一个ignore条目下的配置项。
内容的提问来源于stack exchange,提问作者Eleandro Duzentos
相关产品推荐
相关产品推荐

