SuperAPI AI 工具集

update-screenshots

测试与质量

查看项目

更新于 10-16 00:32

技能介绍

用途:当 VS Code 的“Screenshots & Tests”检查因 blocks-ci 截图哈希与已提交文件不匹配而失败,或需要在 PR 上排查截图差异时,用该技能更新 test/componentFixtures/blocks-ci-screenshots.md 中的哈希。截图图片本身不在仓库内,存放于外部服务 hediet-screenshots.azurewebsites.net,以 commit SHA 为键;只有带 blocksCi: true 的 fixture 才会进入该阻塞门禁。

主要能力:区分两种 CI 结果——截图差异报告仅为信息性,无需提交;blocks-ci 哈希不匹配会阻塞检查,必须更新并提交该文件。可从 PR 评论、job summary 或 job log 获取 CI 生成的预期哈希,并下载新旧图片进行视觉对比,判断改动是否为预期的布局变化。

使用方式:不要本地重新生成哈希,必须从 CI 获取(本地渲染字节不同)。可用 gh pr checks <PR> --json name,link,bucket --jq '.[] | select(.name == "Screenshots & Tests")' 找到失败 job,用 gh api repos/microsoft/vscode/actions/jobs/<JOB_ID>/logs > "$TMPDIR/ci-job-log.txt" 取日志。核对后用 curl 下载旧、新图片做像素级对比,确认后只改文件里哈希变化的那几行,保持头部注释、fixtureId 与图片链接配对、空行及排序不变,用 git diff 确认改动是 CI 报告的逆操作,再提交推送。

限制:截图哈希由 ubuntu-latest 上的 PNG 字节生成,本地生成的值会失败。若改动与 fixture 无关或偏移超出预期,应视为回归并修代码而非改哈希;fixture 渲染错误或 Playwright 测试失败导致的检查失败,更新哈希无效。