用途:调查 vcpkg 在 Azure DevOps 上的 CI 失败,识别 PR 或计划构建中的回归,并在分配缺陷前完成根因初筛。
主要能力:通过 Azure DevOps REST API 获取构建元数据与失败日志,交叉比对 baseline,输出回归报告。可识别 BUILD_FAILED、FILE_CONFLICTS、POST_BUILD_CHECKS_FAILED、CASCADED_DUE_TO_MISSING_DEPENDENCIES 等失败类型;PR 构建无 REGRESSION: 行时,改为扫描 FAIL: 或 failed with 行,捕获编译错误、构建后检查失败、版本校验错误及平台特性守卫信息。
使用方式:输入 Azure DevOps 构建 URL 或 PR URL。可先读取 ..github\skills\shared\azure-vcpkg-ci-notes.md 并遵循其 API 与日志规则。使用共享脚本时按路径直接执行 .ps1 文件,例如: & '..github\skills\shared\Get-VcpkgAzureFailureLogs.ps1' -PrNumber <pr> & '..github\skills\shared\Get-VcpkgAzureFailureLogs.ps1' -BuildId <buildId> 流程上先用步骤日志(Phase 1)提取失败并立即写出 report.md,再进行产物下载与增强(Phase 2)。报告保存于 ci-failure-analysis/ 下,如 ci-129315/ 或 pr-51202/,日志按 triplet 分目录。
限制:需要 GitHub MCP server 以便输入 PR URL;下载产物须用 Invoke-WebRequest 或 curl,不能用 web_fetch;产物类型为 PipelineArtifact,Container API 不适用;须检查 ci.baseline.txt 与 ci.feature.baseline.txt;下载失败时仍应创建 logs/{triplet}/ 目录并注明下载 URL;不得建议 <= 版本约束或 VCPKG_BUILD_TYPE release。报告须使用日志中精确的失败类型关键字与原文错误信息,禁止改写;triplet 需写全名,不得用“N triplets”概括。