Dependabot 对 kmpkg 的支持
Dependabot 是 GitHub 推出的自动化依赖管理服务, 当有新版本依赖项发布时,它会自动创建拉取请求(PR),帮助你保持项目依赖项的更新。自 2025 年起,Dependabot 新增了对 kmpkg 的支持。
Dependabot 与 kmpkg 的协作原理
为 kmpkg 项目启用 Dependabot 后,它会监控你的 kmpkg.json 清单文件,并自动创建拉取请求来更新 builtin-baseline 提交哈希。这能确保你的 C/C++ 依赖项始终与 kmpkg 端口仓库 中的最新版本保持同步。
为 kmpkg 配置 Dependabot
要为 kmpkg 项目启用 Dependabot 版本更新,请按以下步骤操作:
- 在仓库的默认分支中创建或更新
.github/dependabot.yml文件:
version: 2
updates:
- package-ecosystem: "kmpkg"
directory: "/" # 你的 kmpkg.json 文件所在位置
schedule:
interval: "weekly" # 每周更新一次
- 根据项目需求自定义配置:
version: 2
updates:
- package-ecosystem: "kmpkg"
directory: "/"
schedule:
interval: "weekly"
day: "monday" # 每周一更新
time: "09:00" # 上午 9 点更新
timezone: "America/New_York" # 时区:美国东部时间
labels:
- "dependencies" # 为 PR 添加 "dependencies" 标签
- "kmpkg" # 为 PR 添加 "kmpkg" 标签
commit-message:
prefix: "deps" # 提交信息前缀:"deps"
配置选项说明
kmpkg 对应的 Dependabot 支持所有标准配置选项,其中与 kmpkg 相关的核心要求如下:
package-ecosystem必须设置为"kmpkg"(固定值)。directory需指向你的kmpkg.json文件所在路径(如根目录填/)。
如需查看完整的配置选项,请参考 Dependabot 选项参考文档。
针对 kmpkg 的注意事项
- 充分测试:基线更新可能会引入依赖项的破坏性变更, 应用更新后务必测试构建是否正常。
- 关注 kmpkg 公告:关注 kmpkg 仓库 的公告, 及时了解破坏性变更或重要更新信息。
- 考虑版本固定:如果需要部分端口在基线更新时保持原有版本,
可在
kmpkg.json中通过 覆盖规则 固定其版本。
常见问题排查
Dependabot 未创建拉取请求:
- 确保仓库中存在有效的
kmpkg.json文件,且包含builtin-baseline字段。 - 验证配置中的
directory路径是否指向kmpkg.json的正确位置。
基线更新后构建失败:
- 基线更新可能引入依赖项的破坏性变更。
- 查看基线更新中包含的 kmpkg 端口变更记录。
- 如需保持特定依赖项版本,可在
kmpkg.json中固定其版本。