SuperAPI AI 工具集

bump-go-dependencies

测试与质量

查看项目

更新于 10-15 21:11

技能介绍

用途:当被要求更新或升级 Go 依赖时,按固定流程逐个升级直接依赖,并对每次升级做验证与独立提交,最终产出可粘贴到 PR 描述的汇总表。

主要能力与流程:

  1. 列出过时的直接依赖。运行 go list -m -u -json all 2>/dev/null | jq -r 'select(.Indirect != true and .Update != null) | "(.Path) (.Version) (.Update.Path) (.Update.Version)"',输出形如 module/path current_version update_path new_version 的行。若无输出,说明所有直接依赖均为最新,告知用户并停止。
  2. 逐个更新依赖,对每个过时依赖依次执行:升级 go get <module_path>@<new_version>;整理 go mod tidy;验证 task lint 与 task test。
  3. 根据验证结果决定:两者都通过则暂存并提交 git add -A 与 git commit -m "bump <module_path> from <old_version> to <new_version>" -m "" -m "Assisted-By: docker-agent",并在跟踪表中记为已升级;任一失败则回滚 git checkout -- .,记为跳过并注明原因(lint 失败、测试失败或两者)。
  4. 处理完所有依赖后,输出一个放在围栏代码块内、可直接复制的 Markdown 表格,列出每个被考虑的依赖,包含模块路径、旧版本、新版本和状态四列,不使用表情符号。

适用场景:需要安全、可追溯地批量升级 Go 直接依赖,并希望每次升级独立提交、便于审查和回滚的仓库维护工作。

限制:资料未提供该技能对 Go 版本、task 工具或 jq 的额外要求;未说明间接依赖的处理方式;未提供失败重试、冲突解决或网络受限环境下的替代方案;未提供收费、平台或效果信息。