Repository navigation
Ci fastpt - #3
Conversation
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
There was a problem hiding this comment.
AI Review
🟢 未发现有明确证据的问题
在已提供并完成审查的 diff 范围内未形成可确认问题。
变更概览
本次变更主要包含:
- 新增 GitHub Actions 工作流 pr-test.yml:对指向 v2.12 分支的同仓库 PR,在自托管特权容器中下载安装 DTK、AICC 及 Torch 2.12 wheel 等依赖,为 PR 测试构建环境。
- 新增 GitHub Actions PR 测试流水线:在 DTK/HIP 环境中安装指定 PyTorch wheel、克隆 PyTorch 源码、构建并安装 FastPT wheel、运行 torch-mocker 的 ctest,并以 always 条件上传日志产物后清理工作区。
- 新增 GitHub Actions 工作流,在指向 v2.12 分支的 PR 事件上调用外部仓库的复用型质量门禁工作流执行检查,并按 PR 号配置并发组以取消同 PR 的旧运行。
- 新增 release-pypi GitHub Actions 工作流:v2.12 分支推送时在自托管 GPU 容器中安装 DTK 26.04、AICC 与 torch 2.12 wheel,并递归克隆 PyTorch 2.12 源码,为后续构建 FastPT wheel 做准备。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +198/-0 | — |
.github/workflows/pr-test.yml |
新增 · +166/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
审查信息
- 变更统计:3 个文件,+385/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 结果:质量门禁未通过
质量门禁检测到需处理的问题;敏感命中原文、字段值、路径和日志引用不在评论中展示,请由有权限的维护者查看原始报告并处理。
CI 失败证据:pr-test
当前 CI 未通过,但已处理证据尚未形成可公开核对的直接根因。
CI 失败证据:pr-test
- test:失败步骤直接报错:/opt/dtk/cuda/cuda/env.sh 第6行 ROCM_PATH unbound variable(L290),随后该步骤以 exit code 1 结束(L291)。即环境脚本在 ROCM_PATH 未定义时因未绑定变量而退出;该变量缺失的深层原因本批日志无法确定。
- 与本次改动的关系:无法确定;相关diff为0/3文件且未匹配到可用patch,无法核对失败步骤与本次改动文件的关联;报错脚本/opt/dtk/cuda/cuda/env.sh是否被本次修改也无从确认,故无法确定。
- 建议:最小方向:核对失败步骤中 source /opt/dtk/cuda/cuda/env.sh 的调用点,确认调用前已导出 ROCM_PATH;如未设置,按 DTK 包要求的初始化方式补齐环境变量。建议需人工核验,不限定唯一实现。
There was a problem hiding this comment.
AI Review
🟢 未发现有明确证据的问题
在已提供并完成审查的 diff 范围内未形成可确认问题。
变更概览
本次变更主要包含:
- 新增 pr-test.yml 工作流:在同仓库 PR 触发的 self-hosted GPU 容器中安装 DTK/AICC/PyTorch 2.12,构建并安装 FastPT wheel,运行 CTest 并上传日志工件。
- 新增 quality-gate.yml,针对 v2.12 分支 PR 调用组织级质量门禁可复用工作流。
- 新增 GitHub Actions 工作流 release-pypi:在 v2.12 分支推送或手动触发时,于自托管 runner 的 DTK 容器中执行 PyPI 发布的编译测试流程,可见部分包含 checkout、pip 私有源配置和 DTK 安装准备步骤。
- 为 release-pypi 工作流新增构建步骤:写入私有 pip 源配置,下载安装 DTK 与 AICC 工具链,安装 torch 2.12 轮子,克隆 PyTorch 2.12 源码并导出 HIP_TORCH_PATH,用于构建 FastPT wheel。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +202/-0 | — |
.github/workflows/pr-test.yml |
新增 · +170/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
审查信息
- 变更统计:3 个文件,+393/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 失败证据:pr-test
- test:导入已安装的 torch 时抛出直接报错:libgalaxyhip.so.5 共享库缺失(L352-L354),发生在 pip 安装完成后的 python -c 导入检查步骤,随后进程以 exit code 1 结束(L355)。该库通常由 DTK 运行时提供,疑似构建与运行时 DTK 版本不匹配或库未安装,具体环节本批无法确认。
- 与本次改动的关系:无法确定;失败点发生在 site-packages/torch 的导入检查,属依赖/环境加载阶段;日志未匹配到本次 PR 3 个文件的可用 patch,缺乏可核对的触发路径,既不能确认也无法排除与本次改动的关联。
- 建议:核对 DTK-26.04-rc4 安装目录中是否存在 libgalaxyhip.so.5,以及 LD_LIBRARY_PATH 是否覆盖其所在目录;核对 pytorch-das 2.12.0-dev 构建所用 DTK 版本与运行环境是否一致,按需统一版本或补齐缺失运行库。
There was a problem hiding this comment.
AI Review
🟢 未发现有明确证据的问题
在已提供并完成审查的 diff 范围内未形成可确认问题。
变更概览
本次变更主要包含:
- 新增 GitHub Actions 工作流 pr-test.yml,在自托管 GPU 容器(DTK 环境)中为 v2.12 分支的 PR 测试安装 DTK、AICC 与 torch 等依赖
- 为 PR 测试工作流新增基于 /opt/dtk 环境的构建链路:安装指定版本 torch、检出 PyTorch 源码、构建并安装 FastPT wheel。
- 新增运行 CTest 并以 always 条件上传日志、wheel 与测试记录工件,随后清理工作区的步骤。
- 新增 Quality Gate CI 工作流,在指向 v2.12 分支的 PR 触发事件时以只读权限调用 HYGON-AI/quality-gate 仓库的可复用质量门工作流,并按 PR 编号配置并发组以取消同 PR 的旧运行。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +210/-0 | — |
.github/workflows/pr-test.yml |
新增 · +178/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
审查信息
- 变更统计:3 个文件,+409/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:1 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 失败证据:pr-test
- test:git 克隆 ${PYTORCH_REPOSITORY} 步骤失败:L374 'fatal: could not read Username for 'https://github.com': No such device or address',说明克隆该外部仓库时无可用凭据且无法交互输入用户名,匿名访问被拒;L375 'Process completed with exit code 128.' 是该克隆命令的退出状态。
- 与本次改动的关系:无法确定;失败步骤为 git clone 外部仓库,L361-362 为克隆命令,紧随其后 L374-375 即报无凭据与 exit 128;PR patch 未提供(0/3),无法核对 PR 是否改动了工作流或该 env 配置,因此不判相关也不判无关。
- 建议:最小方向:人工核对该克隆步骤的凭据来源与 PYTORCH_REPOSITORY 地址可达性(仓库若非匿名可读,需注入只读凭据或改用可访问的镜像地址)。本批证据不足以要求改业务代码。
There was a problem hiding this comment.
AI Review
🟢 未发现有明确证据的问题
在已提供并完成审查的 diff 范围内未形成可确认问题。
变更概览
本次变更主要包含:
- 新增 GitHub Actions 工作流 pr-test.yml:在自托管 GPU 容器内安装 DTK、AICC 与 Torch 2.12 轮子,构建并安装 FastPT wheel,运行 ctest 并上传日志与构建产物。
- 新增 quality-gate.yml:针对 v2.12 分支的 PR,通过 HYGON-AI/quality-gate 的 v2.0.3 可复用工作流执行质量门禁检查。
- 新增 release-pypi GitHub Actions 工作流:在自托管 GPU 容器中拉取代码,安装 DTK、AICC 工具链和 torch 2.12 wheel,随后构建 FastPT wheel 以完成发布流水线。
- 在 release-pypi 工作流中构建 FastPT wheel:DTK 环境下初始化子模块后执行 setup.py bdist_wheel,随后安装 wheel 验证可导入,并运行 torch-mocker 的 CTest。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +210/-0 | — |
.github/workflows/pr-test.yml |
新增 · +178/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
审查信息
- 变更统计:3 个文件,+409/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:1 项;证据复核过滤:1 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 失败证据:pr-test
- test:CTest 汇总 58 个测试中 1 个失败:#34 torch_mocker.torch.cuda_nccl 以 SEGFAULT 崩溃,ctest 退出码 8 导致步骤失败。本批日志未包含该测试的堆栈等详细输出,段错误的具体原因无法确定。
- 与本次改动的关系:无法确定;本批无可用 PR patch(0/3 文件),无法将 nccl 测试段错误与本次改动建立或排除关联;Run SHA 与 PR SHA 一致,不构成冲突,也不能据此认定相关。
- 建议:查看本作业上传的产物 fastpt-pr-3-1 中 logs/ 内测试 #34 的详细输出或核心信息,定位段错误位置;是否与改动相关由任务级汇总结合其它批次判断。
AI Review审查尚未完整完成,无法给出整体结论;当前没有可发布的已确认问题,不代表代码没有问题。
|
There was a problem hiding this comment.
AI Review
🟡 建议修改
发现有明确证据的问题,建议核对并处理。
已确认 1 个问题,其中 0 个已添加到对应代码行。
变更概览
本次变更主要包含:
- 新增两个 GitHub Actions 工作流:pr-test 在自托管 GPU 容器中为 v2.12 的 PR 完成 DTK/PyTorch 安装、FastPT wheel 构建与 CTest 并上传日志;quality-gate 调用外部质量门禁可复用工作流。
- 本批新增 release-pypi GitHub Actions 工作流,在 v2.12 分支推送或手动触发时,于自托管 GPU 容器环境中配置内部 pip 源并安装 DTK,为 PyPI 包的编译测试发布做准备
- 新增 GitHub Actions 工作流:在 CI 中配置 pip 源,安装 DTK 与 AICC 工具链及 torch 2.12 wheel,检出 PyTorch 源码并以 FASTPT_CTEST=1 构建 FastPT wheel。
- 在 release-pypi workflow 中新增构建 FastPT wheel、安装导入验证并运行 torch-mocker CTest 的 CI 步骤,构建与测试输出分别 tee 到 logs/ 下的日志文件。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +212/-0 | P2 × 1 |
.github/workflows/pr-test.yml |
新增 · +180/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
无法定位到 diff 行的问题(1)
P2 · 发布口令经命令行参数传入,存在进程与产物日志暴露面
- 文件:
.github/workflows/release-pypi.yml(无法安全定位到当前 diff 行) - 触发条件:push 事件触发 Upload NIGHTLY 步骤执行 CIUpload 发布时,口令由 ${{ }} 展开直接拼入 shell 命令行参数
- 证据与影响:该步骤以 --password "${{ secrets.* }}" 形式调用 CIUpload 并用 tee 落盘日志;GitHub 只对控制台日志做掩码,argv 可通过 ps/proc 被同机进程读取,tee 写入本地且随后作为 artifact 上传的日志文件不做掩码 口令可能经 runner 进程列表或上传的日志产物泄露;结合工作流含 DTK 相关构建步骤,大概率运行在自托管 runner 上,暴露风险实际存在
- 修改建议:改为通过步骤 env 或 stdin(若工具支持 env 变量/--password-stdin 等方式)传递口令,避免出现在命令行参数中;修改后人工核验发布链路并补验证
审查信息
- 变更统计:3 个文件,+413/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:1 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
There was a problem hiding this comment.
AI Review
🟢 未发现有明确证据的问题
在已提供并完成审查的 diff 范围内未形成可确认问题。
变更概览
本次变更主要包含:
- 新增 pr-test 工作流,在自托管 GPU 容器中自动安装 DTK/torch 依赖、构建并安装 FastPT wheel、运行 CTest 并上传日志与产物。
- 新增 quality-gate 工作流,通过复用外部 v2.0.3 质量门工作流对 PR 执行检查。
- 新增 release-pypi GitHub Actions 工作流:在自托管 GPU 容器中安装 DTK 26.04 与 AICC 工具链及 torch 2.12 wheel,并检出 pytorch 2.12 源码用于构建 FastPT wheel。
- 在 release-pypi 工作流中新增 wheel 构建、安装验证、CTest 执行步骤,推送事件时进行 DAS 版本修复并上传 nightly 包,同时上传构建日志与测试日志工件并清理工作区。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +216/-0 | — |
.github/workflows/pr-test.yml |
新增 · +180/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
审查信息
- 变更统计:3 个文件,+417/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 失败证据:pr-test
- test:直接异常为 artifact 上传失败:Failed to CreateArtifact: Artifact storage quota has been hit,存储配额已满、无法上传任何新 artifact。同批次 ctest 58/58 全部通过(0 tests failed),测试执行本身未见失败,失败点在 upload-artifact 上传步骤。
- 与本次改动的关系:无关;本批唯一 ##[error] 出现在 L1630 的上传存储配额限制,而 L1583 显示 100% tests passed、0/58 失败;存储配额属账号/组织级存储问题,与 PR 代码改动无触发路径。
- 建议:方向:等待配额按日志说明每 6-12 小时重算后重跑,或由管理员在 GitHub Billing/Actions 中清理旧 artifact 释放存储;必要时调整工作流仅在关键任务上传 artifact。以上建议未实际执行,需人工核验。
There was a problem hiding this comment.
AI Review
🟡 建议修改
发现有明确证据的问题,建议核对并处理。
已确认 1 个问题,其中 0 个已添加到对应代码行。
变更概览
本次变更主要包含:
- 新增 pr-test GitHub Actions 工作流:在自托管 GPU 容器中针对 v2.12 的 PR 检出代码,安装 DTK、AICC 工具链及 nightly Torch wheel,统一写入 logs 并配置私有 pip 源。
- 新增 PR 测试工作流步骤:在 DTK 环境下安装 Torch 2.12 wheel 与依赖,检出 PyTorch 源码,构建并安装验证 FastPT wheel,运行 torch-mocker 的 CTest,并在结束时清理工作区。
- 新增 .github/workflows/quality-gate.yml:针对目标分支 v2.12 的 pull_request 事件(含 ready_for_review)以复用工作流方式调用 HYGON-AI/quality-gate 的 pr-quality-gate.yml,权限收敛为 contents: read,并按 PR 编号设置并发组取消重复运行。
- 新增 release-pypi GitHub Actions 工作流,在 v2.12 分支推送或手动触发时,于自托管 GPU 容器中安装 DTK、AICC 及 torch 2.12 wheel,并构建 FastPT wheel。
文件审查摘要
| 文件 | 变更 | 审查结果 |
|---|---|---|
.github/workflows/release-pypi.yml |
新增 · +203/-0 | P3 × 1 |
.github/workflows/pr-test.yml |
新增 · +168/-0 | — |
.github/workflows/quality-gate.yml |
新增 · +21/-0 | — |
无法定位到 diff 行的问题(1)
P3 · 密码类 secrets 以命令行参数形式展开进上传命令
- 文件:
.github/workflows/release-pypi.yml(无法安全定位到当前 diff 行) - 触发条件:Upload NIGHTLY 步骤在 push 事件触发执行时。
- 证据与影响:步骤 run 中将密码 secrets 直接内插为 --password 参数值,属于 argv 展开;该命令经 2>&1 | tee 运行时,参数会出现在 runner 本机进程列表中。工作流依赖 /opt/dtk 环境并包含工作区清理步骤,指向自托管常驻 runner。 密码值可被同机进程通过进程命令行读取,扩大凭据暴露面(GitHub Actions 日志脱敏不能缓解 /proc 层面的暴露)。
- 修改建议:将该 secrets 放入步骤的 env 块(同步骤已对 GITHUB_TOKEN 采用此方式),命令改为以环境变量形式引用密码参数。
审查信息
- 变更统计:3 个文件,+392/-0。
- 覆盖情况:共 3 个文件,已完整审查 3 个。
- 候选问题:1 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
- 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
No description provided.