用途:在已本地检出 PR 分支的情况下,借助 gh CLI 诊断并修复该 PR 上的 CI 失败。
主要能力与流程:先用 git branch --show-current 确认分支,用 gh pr view --json number,title,url,statusCheckRollup 找到 PR;用 gh pr checks --json name,state,link,bucket 查看状态,并可过滤 bucket 为 fail 的检查,必要时用 gh pr checks --watch --fail-fast 等待完成。通过检查链接中的 /runs/<RUN_ID> 提取运行 ID,用 gh run view <RUN_ID> --json jobs 列出失败作业。
日志获取有三种方式:一是 gh run view <RUN_ID> --job <JOB_ID> --log-failed 直接看失败步骤日志(要求整个运行已结束);二是 gh run download <RUN_ID> -n "<artifact-name>" -D /tmp/ci-logs 下载测试日志或崩溃转储工件;三是运行仍在进行时用 gh api repos/microsoft/vscode/actions/jobs/<JOB_ID>/logs > "$TMPDIR/ci-job-log.txt" 下载单作业日志,再以 grep -n '##[error]' 定位错误行。
失败日志中常见的工件目录会包含 main.log、terminal.log、window*/renderer.log、exthost/exthost.log;定位失败后判断是 PR 引入还是基础设施/偶发问题,基础设施问题可用 gh run rerun <RUN_ID> --failed 重跑,最后本地修复、提交推送并再次观察 CI。
限制:文档明确说明部分命令要求整个运行完成,日志可能因运行器崩溃为空;未提供具体平台支持范围与收费信息。