SuperAPI AI 工具集

openharmony-ci

部署与运维

查看项目

更新于 10-16 03:11

技能介绍

用途:调查 OpenHarmony 拉取请求(PR)的 CI 状态,输入可以是 openharmony_ci 评论、DCP 事件 ID、构建标签、产物链接或 CI 日志 URL。

主要能力:内置脚本会先解析 PR 最新的 DCP 事件,汇总各 job 的 CI 状态,且默认只抓取失败 job 的日志(除非明确要求其他模式)。

使用方式:优先运行内置脚本:python3 scripts/openharmony_ci.py --pr <pr_number> --repo <repo>。支持 --pr、--pr-url、--event-id 输入;可用 --log-mode auto(默认,仅失败 job 日志)、never(仅状态)、always(所有 job 日志)、--json、--download-dir <dir> 等标志。默认设置 XDG_CACHE_HOME=/tmp/openharmony-ci-cache,避免在沙箱环境写入 ~/.cache。

适用场景:从 GitCode PR 入手时优先用 --pr 或 --pr-url。脚本通过 oh-gc 读取 openharmony_ci 评论,提取最新 DCP 事件 id,再查询 DCP API。

限制与注意事项:默认视为需要网络,运行前应预先申请网络权限,可能涉及 GitCode via oh-gc、dcp.openharmony.cn、cidownload.openharmony.cn 等端点。受限环境中优先使用内置脚本而非直接调用 oh-gc。判定通过/失败应以 DCP 事件数据为准,不能只看标签;多个失败 job 需全部报告;有开始时间但无结束结果的 job 视为运行中而非失败;失败时按产物列表自动定位日志,build.log 可能重定向,build.log.zip 可能是 tar 归档。最终回答需同时报告 DCP 总体结果和各 job 失败情况,若总体成功但部分 job 为 skip 或 failed 需明确说明,失败 job 若显示 skip build 等原因应原样保留。若脚本不可用,可手动:从最新 openharmony_ci build-start 评论提取 DCP 事件 id,查询 https://dcp.openharmony.cn/api/codecheckAccess/ci-portal/v1/event/<event_id>,失败 job 有 Artifacts 时查询 files 接口,再从 https://cidownload.openharmony.cn/<path> 下载日志。