用途:为 brave/brave-core 的 PR 重新触发失败的 Jenkins CI 任务。脚本会判断失败阶段,构建/基础设施类失败使用 WIPE_WORKSPACE,测试或 storybook 类失败则普通重跑。
主要能力:解析 PR 编号与 --dry-run;分析失败检查并给出建议动作与原因;对测试阶段失败提取 GTest [ FAILED ] 用例,区分 Brave 与 Chromium 测试,检查上游 flake(仅 Chromium,经 LUCI Analysis),与 PR 改动做关联判断,并搜索已有 issue;仅当失败可能与 PR 无关且无已有 issue 时建议提 issue,且从不自动提交。
使用方式:需设置 JENKINS_BASE_URL、JENKINS_USER、JENKINS_TOKEN(token 从 $JENKINS_BASE_URL/me/configure 获取)。先干跑分析:python3 .claude/skills/make-ci-green/retrigger-ci.py <pr-number> --dry-run --format json;确认后触发:python3 .claude/skills/make-ci-green/retrigger-ci.py <pr-number> --format json。退出码:0 成功,1 配置错误,2 API 错误,3 无失败 Jenkins 检查。
适用场景:CI 上偶发测试失败需重试、构建/基础设施失败需清空工作区恢复、推送新提交后只重跑失败检查、多平台检查批量重触发。
限制:仅处理 URL 含 $JENKINS_BASE_URL 的 Jenkins 检查,无法重跑 GitHub Actions、SonarCloud、Socket Security;需有效 Jenkins API token;不处理仍在运行的 PENDING 检查;WIPE_WORKSPACE 依赖阶段名关键词匹配;测试提取仅支持 GTest 输出;上游 flake 检查仅限 Chromium 测试;PR 关联为目录级启发式,可能漏掉间接依赖;分类需本地 chromium src/ 检出以运行 git grep。