SuperAPI AI 工具集

astro-test-perf

测试与质量

查看项目

更新于 10-16 05:42

技能介绍

用途:分析 Astro 仓库的 CI 测试性能,从最近一次 CI 运行日志中解析测试耗时,生成性能报告,定位跨套件与跨平台最慢的测试。

主要能力:覆盖三类套件——Astro(Node.js test runner)、Integrations(Node.js test runner)、E2E(Playwright Chrome/Firefox)。脚本输出 JSON,包含 astro、integrations 的顶级套件耗时(avgMs、maxMs、minMs、platformDurations)及 e2e 汇总(通过数、总时长、不稳定测试),并给出各平台总测试数与总时长。报告可含总览表、平台速度对比、按套件的最慢测试表、耗时分布与集中度、Node 22 与 24 同系统下的绝对慢化对比,以及针对异常测试、平台异常、集中度和不稳定 E2E 的建议。

使用方式:先用 gh run list -R withastro/astro --workflow=ci.yml --status=completed -L 10 --json workflowName,databaseId,conclusion,createdAt,headBranch,displayTitle 选一次完成的运行,优先非 main 分支的成功运行以免 Turbo 缓存导致时长接近零;当 Test (astro) 时长低于 60 秒时换一次运行。随后下载日志:gh run view <run_id> -R withastro/astro --log > /tmp/ci-run-<run_id>.log。再运行脚本解析:node <skill-dir>/scripts/parse-test-durations.js /tmp/ci-run-<run_id>.log --top 50,可用 --top N 控制条目数(默认 50),--suite astro 仅解析单一套件;结果可重定向到 /tmp/ci-perf.json。最后依据 JSON 生成 Markdown 报告。

限制:日志为制表符分隔,顶级测试无前导空白、子测试有缩进;E2E 的标准报告不提供每测试耗时,只能到套件级别;若需对比两次运行,需分别下载日志并各自解析后做差异;具体命令与字段以官方资料为准,其他环境或版本适配暂未提供。