仓库验证报告

component_drivers — https://gitcode.com/openUBMC/component_drivers.git (commit: 456740752d5f)

验证结果总览

✓ 全部通过

构建: 成功  |  单元测试: 成功 (4021/4021)  |  静态检查: 全部通过  |  总耗时: 873秒

开始时间
2026-09-30T06:01:48+08:00
结束时间
2026-09-30T06:16:21+08:00
构建状态
成功
测试状态
4021/4021
构建耗时
219s
测试耗时
381s

1. 元数据

仓库路径: /workspace/j_WVgy5CvO

仓库名称: component_drivers

仓库地址: https://gitcode.com/openUBMC/component_drivers.git

提交哈希: 456740752d5f443c100070a91ddb174008dfbbec

开始时间: 2026-09-30T06:01:48+08:00

结束时间: 2026-09-30T06:16:21+08:00

总耗时: 873 秒

步骤总数: 17

2. 机器规格

宿主机

架构: x86_64

CPU 型号: Intel(R) Xeon(R) Gold 6151 CPU @ 3.00GHz

CPU 核数: 32

内存: 62Gi

磁盘: 69G available (197G total)

Docker 版本: Docker version 29.1.3, build 29.1.3-0ubuntu3~24.04.2

容器

操作系统: Ubuntu 24.04.3 LTS (Noble Numbat)

架构: x86_64

CPU 核数: 32

内存: 62Gi (无限制)

镜像来源

类型: devcontainer_image

镜像名称: swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06

选择理由: README.md 系统要求章节明确指定仅支持 Ubuntu 24.04 LTS,并推荐使用该华为云镜像;.devcontainer/devcontainer.json 同样以此镜像作为 image。镜像预装了 bingo、Conan 2.30.0、Node.js、ARM 交叉编译工具链 (/opt/hcc_arm64le) 及 RTOS SDK,符合文档'构建工具由 init.py 自动安装'的描述。

3. 文档阅读摘要

架构要求: x86-64 (amd64) (README.md - 系统要求章节)

推荐镜像: swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06 (README.md - 系统要求章节 + .devcontainer/devcontainer.json)

构建命令: bingo build --stage=dev

UT 命令: bingo test -ut -jit

样例命令: 无样例命令 (component_drivers 为库组件,无可执行样例)

依赖列表:

特殊依赖:

4. 执行日志

#时间戳命令状态输出错误返回码耗时(秒)
1 2026-09-30T06:01:32+08:00 docker pull swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06 成功 Status: Image is up to date (镜像已缓存) 0 1
2 2026-09-30T06:01:48+08:00 docker run -d --name ttfhw-component_drivers-env -v /workspace:/workspace -w /workspace <image> tail -f /dev/null 成功 Container ID: b70a796d278217e996c03506372a172a5799b433a2d91be91cfe7a601f4e803c 0 1
3 2026-09-30T06:02:30+08:00 conan remote login openubmc_opensource <conan_user> -p <conan_password> 成功 Authenticated in remote 'openubmc_opensource' with user '<conan_user_desensitized>' 0 2
4 2026-09-30T06:02:35+08:00 pip3 install pre-commit 成功 Successfully installed pre-commit 4.6.2 0 15
5 2026-09-30T06:02:50+08:00 apt-get install -y clang-format clang-tidy shellcheck 成功 安装完成 (pre-commit hooks 依赖工具) 0 25
6 2026-09-30T06:03:16+08:00 pre-commit run --all-files 成功 Check .sr Files...Passed Check JSON...Passed Check YAML...Passed clang-format...Passed trim trailing whitespace...Passed fix end of files...Passed check for merge conflicts...Passed check for added large files...Passed check for case conflicts...Passed detect private key...Passed 0 30
7 2026-09-30T06:04:01+08:00 bingo build --stage=dev (首次尝试) 失败 Conan 配置阶段解析依赖图失败 ERROR: The recipe libmcpp/5.0.29@openubmc/stable is constraining settings. 'settings.luacompiler' doesn't exist for 'settings'. possible configurations are ['arch', 'build_type', 'compiler', 'os'] 1 6
8 2026-09-30T06:05:00+08:00 echo 'luacompiler: [null, luajit, lua]' >> ~/.conan2/settings.yml 成功 已向 Conan settings.yml 添加 luacompiler 自定义设置 0 1
9 2026-09-30T06:05:30+08:00 bingo build --stage=dev (重试) 成功 构建成功。Packaged 67 .so files, 276 .h files, 88 .sr files, 2 .json files, 1 .lua file。Full package reference: component_drivers/1.2.526@openubmc.dev/dev#8b3e143a2d66eed0bdddd1ccdea51881:f9fdcb952ffb2d7a88a2daa080e444d56f6dd4e0 0 219
10 2026-09-30T06:09:30+08:00 bingo test -ut -jit 成功 # Ran 4021 tests in 63.000 seconds, 4021 successes, 0 failures (跨 75 个二进制) 0 381
11 2026-09-30T06:16:10+08:00 docker rm -f ttfhw-component_drivers-env 成功 容器已停止并删除 0 1

5. 流程时间线

#时间戳步骤动作结果详情
1 2026-09-30T06:01:48+08:00 start 开始验证流程 已启动 {}
2 2026-09-30T06:01:50+08:00 document_reading 读取 README.md 了解构建说明、系统要求、环境依赖、构建和测试章节 成功 {"file": "README.md", "sections_read": ["系统要求", "环境依赖", "构建", "测试", "构建参数说明"]}
3 2026-09-30T06:01:55+08:00 document_reading 读取 CONTRIBUTING.md 确认 pre-commit 和 clang-tidy 配置 成功 {"file": "CONTRIBUTING.md", "pre_commit_hooks": 12, "clang_tidy_required": ">= 22"}
4 2026-09-30T06:02:00+08:00 document_reading 读取 conanfile.py 确认 Conan 依赖和构建选项 成功 {"file": "conanfile.py", "required_conan_version": ">=2.13.0", "build_system": "Meson"}
5 2026-09-30T06:02:05+08:00 static_analysis_scan 检查仓库 pre-commit 配置 已配置 {"config_file": ".pre-commit-config.yaml", "hooks_count": 12}
6 2026-09-30T06:02:10+08:00 static_analysis_scan 检查仓库 lint-runner 配置 未配置 {"searched_patterns": [".lint-runner.yaml", ".lint-runner.json", "lint-runner.config.*"]}
7 2026-09-30T06:02:15+08:00 devcontainer_scan 检查 .devcontainer 目录及配置 已配置 {"config_dir": ".devcontainer", "files": ["devcontainer.json"], "image": "swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06"}
8 2026-09-30T06:02:30+08:00 image_selection 选择基础镜像 Ubuntu 24.04.2_26.06 (openUBMC 镜像) {"selection_reason": "README.md 和 devcontainer.json 均指定此镜像,镜像预装 bingo/Conan/工具链"}
9 2026-09-30T06:01:48+08:00 container_setup 拉取镜像并启动容器 (镜像已缓存) 成功 {"image": "swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06", "container_name": "ttfhw-component_drivers-env"}
10 2026-09-30T06:02:50+08:00 dependency_installation 安装 pre-commit、clang-format、clang-tidy、shellcheck (静态检查依赖) 成功 {"packages": ["pre-commit 4.6.2", "clang-format", "clang-tidy", "shellcheck"]}
11 2026-09-30T06:03:16+08:00 static_analysis_execution 执行 pre-commit run --all-files 全部通过 {"passed": 10, "failed": 0, "skipped": 0, "duration_seconds": 30}
12 2026-09-30T06:04:01+08:00 build_attempt 首次构建尝试 (bingo build --stage=dev) 失败 {"error": "Conan settings.luacompiler 不存在"}
13 2026-09-30T06:05:00+08:00 problem_resolution 问题定位: libmcpp conanbase.py 声明 settings 含 luacompiler,但 settings.yml 未定义。向 settings.yml 添加 luacompiler: [null, luajit, lua] 已解决 {"solution": "在 ~/.conan2/settings.yml 末尾添加 luacompiler 设置", "source": "libmcpp conanbase.py 第63行: settings = 'os', 'compiler', 'luacompiler', 'build_type', 'arch'"}
14 2026-09-30T06:05:30+08:00 build_retry 重新构建 (bingo build --stage=dev) 成功 {"duration_seconds": 219, "artifacts_so_count": 67, "artifacts_h_count": 276, "artifacts_sr_count": 88}
15 2026-09-30T06:09:30+08:00 ut_execution 执行单元测试 (bingo test -ut -jit) 成功 {"total": 4021, "passed": 4021, "failed": 0, "binaries": 75, "duration_seconds": 381}
16 2026-09-30T06:16:10+08:00 cleanup 停止并删除容器 成功 {}
17 2026-09-30T06:16:21+08:00 report_generation 生成验证报告 成功 {"output_file": "verification_report_WSL_component_drivers_20260930.json"}

6. 最终结果

6.1 静态分析

已启用: True

摘要: 检测到 pre-commit 配置(12个hooks,全部通过),未检测到 lint-runner 配置。pre-commit 通过 clang-format 22 对 C/C++ 文件进行格式检查,并包含 .sr/JSON/YAML 校验、尾部空白修复、私钥检测等钩子。

pre-commit 配置: True — 全部通过

配置文件: .pre-commit-config.yaml

耗时: 30 秒

Hooks 总数: 12 (通过 10, 失败 0, 跳过 2)

lint-runner 配置: False

跳过的 Hooks:

6.2 DevContainer

已启用: True

配置目录: .devcontainer

配置文件: devcontainer.json

摘要: 已配置 devcontainer,基于 swr.cn-north-4.myhuaweicloud.com/openubmc/ubuntu:24.04.2_26.06 镜像,工作区挂载至 /workspace,预装 VS Code C++ 开发扩展。

6.3 构建

状态: 成功

构建命令: bingo build --stage=dev

耗时: 219 秒

构建类型: Debug

目标架构: armv8 (交叉编译 aarch64-target-linux-gnu)

编译器: gcc 14.3 (ARM 交叉工具链 /opt/hcc_arm64le)

包引用: component_drivers/1.2.526@openubmc.dev/dev#8b3e143a2d66eed0bdddd1ccdea51881:f9fdcb952ffb2d7a88a2daa080e444d56f6dd4e0

产物名称路径大小
libdevice_tree.so usr/lib64/libdevice_tree.so N/A
libresource_tree.so usr/lib64/libresource_tree.so N/A
libInternal.so usr/lib64/libInternal.so 423K
libdev_hisi_interface.so usr/lib64/libdev_hisi_interface.so 1.2M
libdev_mellanox_interface.so usr/lib64/libdev_mellanox_interface.so 630K
libScanner.so opt/bmc/drivers/libScanner.so 183K
libcx6.so (Mellanox CX6 网卡驱动) opt/bmc/drivers/libcx6.so N/A
合计 67 个 .so (24 个 usr/lib64 + 43 个 opt/bmc/drivers) usr/lib64/ + opt/bmc/drivers/ 28M (包总大小)

6.4 单元测试

状态: 成功

测试命令: bingo test -ut -jit

总用例数: 4021

通过: 4021

失败: 0

二进制数: 75

耗时: 381 秒

6.5 样例

状态: 不适用

说明: component_drivers 为库组件,README 未提供可执行样例命令,无可运行样例程序。

7. 文档缺口

8. 遇到的问题

时间戳问题解决方案来源
2026-09-30T06:04:01+08:00 bingo build 首次执行失败: Conan 报错 'settings.luacompiler doesn't exist for settings',libmcpp/5.0.29 包的 conanbase.py 基类声明了 luacompiler 自定义设置但 settings.yml 未定义 向 ~/.conan2/settings.yml 末尾添加 'luacompiler: [null, luajit, lua]',然后重试构建成功 libmcpp conanbase.py 第63行: settings = 'os', 'compiler', 'luacompiler', 'build_type', 'arch'

9. 时间验证

验证结束时间: 2026-09-30T06:16:21+08:00

报告生成时当前时间: 2026-09-30T06:16:21+08:00

时间差(秒): 0

验证结果: 通过 — 报告生成结束时间与系统当前时间一致,报告为实时生成