跳到主要内容

Dependabot 对 kmpkg 的支持

Dependabot 是 GitHub 推出的自动化依赖管理服务, 当有新版本依赖项发布时,它会自动创建拉取请求(PR),帮助你保持项目依赖项的更新。自 2025 年起,Dependabot 新增了对 kmpkg 的支持。

Dependabot 与 kmpkg 的协作原理

为 kmpkg 项目启用 Dependabot 后,它会监控你的 kmpkg.json 清单文件,并自动创建拉取请求来更新 builtin-baseline 提交哈希。这能确保你的 C/C++ 依赖项始终与 kmpkg 端口仓库 中的最新版本保持同步。

为 kmpkg 配置 Dependabot

要为 kmpkg 项目启用 Dependabot 版本更新,请按以下步骤操作:

  1. 在仓库的默认分支中创建或更新 .github/dependabot.yml 文件:
version: 2
updates:
- package-ecosystem: "kmpkg"
directory: "/" # 你的 kmpkg.json 文件所在位置
schedule:
interval: "weekly" # 每周更新一次
  1. 根据项目需求自定义配置:
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 中固定其版本。

延伸阅读