| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feature】优化UT依赖下载,速度提升10倍,彻底解决概率失败问题。 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !50 merge dev_0227 into master 【feature】优化UT依赖下载,速度提升10倍,彻底解决概率失败问题。 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 在提交 PR 前,开发者常需新增 UT 用例或运行 UT 以定位问题,但当前 UT 依赖下载流程体验差,影响开发效率。 1. 下载耗时过长:以 msOpProf 为例,依赖下载顺利时仍需约 30 分钟; 2. 失败概率过高:实测失败率高达约 80%,多次重试后总耗时常达 1–2 小时; 3. 依赖管理不规范:依赖信息硬编码在 Python 脚本中,不符合业界主流实践; - **修改方案:** 1. 配置文件重构方案 原方案在 download_dependencies.py 中通过硬编码数组管理依赖项,方式不够规范; 新方案将依赖信息重构至独立的 dependencies.json 配置文件,并新增对二进制制品(artifact)的下载支持。 2. 代码重构方案 原 download_dependencies.py 脚本存在一定不足,代码略显冗余、逻辑不够清晰,且扩展性有限;鉴于其核心逻辑较为简洁,在新增功能时已对其进行了全面重构: 采用更易扩展和维护的面向对象方式实现; 新增 artifact 下载机制,并与原有的源码下载方式实现自然融合; 补充完善的异常处理机制,便于问题快速定位与排查。 - **修改内容:** 1. 重构依赖配置: artifact_spec:定义二进制包的下载信息,包括来源地址、SHA 校验值(用于防篡改)及目标存放目录; dependency_sets:支持区分生产(prod)与测试(test)两种依赖模式,后续可灵活扩展新增其他模式; 每种模式下可选择通过 submodule 或 artifact 方式下载依赖:submodule 方式需在原有 .gitmodules 文件中预先配置,artifact 方式则依据上述 artifact_spec 中的配置进行下载。 本次将 UT 所需的两个依赖包(Boost 和 GoogleTest)切换为 artifact 下载方式;若验证效果良好,后续可将产品构建中耗时较长的 llvm-project 也迁移至 artifact 方式。 2. 重构依赖下载机制: main 函数完成参数解析后,调用依赖管理器对象的入口方法 run(); run() 方法读取 dependencies.json 中的 dependency_sets 配置,按 submodule 和 artifact 两种方式分别处理; submodule 方式:沿用原有逻辑,未作改动,仍区分第三方仓库与自有仓库,并额外调用自有仓库(即 common 仓)中的 download_dependencies.py; artifact 方式:新增实现,逻辑简洁——依次遍历依赖项,根据名称在 artifact_spec 中查找对应的下载信息,执行下载与解压操作即可。 - [ ] **涉及代码双合**(贴上另一个PR链接):无 ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** 是 ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** 是 - [ ] **是否具备UT测试用例看护** 是 - [ ] **是否需要在sig会议中进行代码检视** 否 - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** 不涉及 ---- See merge request: Ascend/msopprof!50 | 7 个月前 | |
[feature]:devcontainer机制打样仓合入 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !228 merge dev_0722 into master [feature]:devcontainer机制打样仓合入 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 产品线统一要求上线devcontainer功能 - **修改方案:** 按要求上线devcontainer功能 - **修改内容:** 增加devcontainer需求相关功能 - [ ] **涉及代码双合**(贴上另一个PR链接):NA ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** NA ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** 是 - [ ] **是否具备UT测试用例看护** NA - [ ] **是否需要在sig会议中进行代码检视** NA - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** NA ---- See merge request: Ascend/msopprof!228 | 3 个月前 | |
Initial commit | 9 个月前 |