SuperAPI AI 工具集

blender-download-artifacts

测试与质量

查看项目

更新于 10-23 01:11

技能介绍

用途:将指定 PR 当前可用的 CI 产物下载到仓库本地的 workdir/ 目录,并生成便于审阅的本地索引,避免用户手动在 GitHub 上查找文件。

主要能力:解析 PR 与目标目录,使用 PR 的实际 head SHA,即使当前检出的分支不同;通过 git worktree 确认主检出目录;确认 workdir/ 已被忽略后,按固定目录结构存放产物,目录名使用数字 ID 以避免冲突。查找该 head 对应的工作流运行,分页列出并下载所有可用产物,保留 ZIP 并解压到 files/ 子目录,校验 ZIP 完整性,并记录运行信息、产物元数据和下载结果到 manifest.json。为每次收集生成 README.md,并在 PR 目录下生成入口索引,链接到解压出的截图、JSON 报告、日志和扩展 ZIP 等文件。对特定格式的截图产物,额外复制 PNG 与配套 JSON 报告到 workdir/screenshots/ 下对应目录,并更新其 README;检查截图并标记空白或视角错误的图片。若存在成对的原生测试报告,比较 ZIP 哈希并报告不一致或缺失证据。

使用方式:在技能调用时传入 <prnumber> 参数,必须是一个正整数。若缺失或无效,显示用法提示并要求提供编号。技能将参数、PR 标题和产物名称视为数据而非 shell 代码。执行流程包括解析仓库与 PR、确认目标目录被忽略、分页获取指定 head SHA 的工作流运行列表、按工作流 ID 和事件选择最新一次运行(包含失败或取消的运行)、列出并下载每次运行的产物、校验 ZIP、解压至 staging 目录,并拒绝绝对路径、路径穿越和符号链接条目。若 API 提供 SHA-256 摘要则校验,否则记录本地计算的哈希但不声称远程已验证。支持增量重复调用:仅当产物 ID 和记录哈希匹配且解压成功时复用;重试未完成的下载;保留之前提交和运行的产物。下载后重新读取运行状态并标记尝试变更。若 CI 仍在排队或运行,标记收集为部分完成。最终返回可点击的本地入口索引绝对链接、head SHA、下载/复用/不可用产物数量以及部分或失败结果。

适用场景:需要在本地集中审阅某个 PR 的 CI 产物,包括截图、日志、JSON 报告和扩展 ZIP 等,尤其适合需要对比截图或测试报告的场景。

限制:不重跑 CI、不安装或执行下载的代码、不编辑 PR、不提交、不推送、不合并。下载成功不代表视觉或测试验收通过。GitHub 的产物列表是按运行范围提供的,因此除非元数据明确,不应声称单个产物来自最新尝试。若该 head 没有可用产物,仍会写入索引说明原因。