SuperAPI AI 工具集

fix-release-pr

测试与质量

查看项目

更新于 10-15 20:12

技能介绍

用途:处理 clickhouse-js 中目标为受保护 release 分支的发布 PR(如“1.23 beta2”),修复其 CI 失败并回应代码评审意见。此类 PR 的 head 通常是 main,且 release 受保护,无法直接推送修复,因此修复需经独立 PR 落到 main,合并后再由 release 分支从 main 重新同步。

主要能力与流程:

  1. 确认是发布 PR:gh pr view <N> --json title,baseRefName,headRefName,headRefOid,baseRefName 为 release 才适用。
  2. 收集问题:gh pr checks <N> 查看检查,忽略聚合门 success,定位真实失败任务;用 gh run view --job <JOB_ID> --log-failed | tail -50 看日志。评审意见用 REST 获取内联评论 id,用 GraphQL reviewThreads 获取线程节点 id(PRRT_…)与首条评论 databaseId。
  3. 从最新 main 建分支:git fetch origin;git checkout -b fix/<short-topic> origin/main。
  4. 修复并验证:Prettier 是最常见失败,用 node_modules/.bin/prettier --write <file> 与 npm run -s prettier:check;脚本用 node --check <file>;库代码用 npm run typecheck、npm run lint 及相关 npm run test:*。逻辑修复应实际运行验证。
  5. 提交推送并开 PR 到 main:git commit、git push -u origin fix/<short-topic>、gh pr create --base main --head fix/<short-topic>,正文说明针对 #N 及为何单独开 PR。
  6. 闭环:用 REST …/comments/<COMMENT_ID>/replies 回复,用 GraphQL resolveReviewThread 解决线程。
  7. 提醒维护者合并后需将 release 从 main 重新同步,不要自行推送 release。

适用场景:clickhouse-js 发布 PR 的 CI 修复与评审反馈处理。限制:仅适用于 base 为 release 的 PR;不适用于 base 为 main 的普通 PR;需具备 gh、git 与仓库工具链环境。