Skip to content

test: verify complete fork CI workflow - #8

Merged
lyt-ghub merged 3 commits into
HYGON-AI:mainfrom
lyt-ghub:ci/verify-fork-ci-complete
Sep 16, 2026
Merged

lyt-ghub merged 3 commits into
HYGON-AI:mainfrom
lyt-ghub:ci/verify-fork-ci-complete

Conversation

@lyt-ghub

Copy link
Copy Markdown
Contributor

Empty validation commit. This PR verifies fork workflow triggering, private submodule checkout, wheel building, and the full operator test suite. It should be closed after verification.

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Review

🟢 未发现有明确证据的问题

在已提供并完成审查的 diff 范围内未形成可确认问题。

变更概览

本次变更的语义概览暂未生成,具体修改请查看文件审查摘要。

文件审查摘要
文件 变更 审查结果
审查信息
  • 变更统计:0 个文件,+0/-0。
  • 覆盖情况:共 0 个文件,已完整审查 0 个。
  • 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
  • 本服务只审查 GitHub 提供的 PR diff,未执行代码或重跑测试;结论仍需维护者核验。
CI 失败证据:AITER CI
  • build-and-test:aiter 脚本在 wheel 安装成功后报错:--test_dir 源码处于 detached HEAD,无法确定分支,提示改用 --branch 和 --commit(L3642),随后该步骤以 exit code 1 结束(L3643)。失败点为脚本的分支探测逻辑,而非 wheel 安装或测试执行本身。
    • 与本次改动的关系:无法确定;报错是脚本对 detached HEAD 的确定性处理失败,属脚本/工作流参数层面的可直接归因错误;但本批无可用 PR patch(0/0 文件),无法确认本次改动是否触及该脚本、调用参数或 checkout 配置,故与 PR 的关系无法确定。
    • 建议:在该调用步骤为脚本显式传入 --branch 与 --commit(可取 workflow 的分支名与 SHA),或调整脚本在 detached HEAD 下不依赖分支名推断。以上为方向性建议,需结合工作流定义人工核验,未经验证不保证有效。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Review

🟢 未发现有明确证据的问题

在已提供并完成审查的 diff 范围内未形成可确认问题。

变更概览

本次变更主要包含:

  • 新增 Quality Gate GitHub Actions 工作流:在面向 main 分支的 pull_request 事件上,以固定 SHA 复用 HYGON-AI/quality-gate 仓库的 pr-quality-gate 工作流执行检查,并声明最小 contents: read 权限及按 PR 号分组取消旧运行的并发控制。
文件审查摘要
文件 变更 审查结果
.github/workflows/quality-gate.yml 新增 · +21/-0 —
审查信息
  • 变更统计:1 个文件,+21/-0。
  • 覆盖情况:共 1 个文件,已完整审查 1 个。
  • 候选问题:0 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
CI 失败证据:AITER CI
  • build-and-test:已证实的直接失败:09:11:55 aiter 检查脚本在安装 wheel(0.1.6) 后报 ERROR:--test_dir 源码处于 detached HEAD,无法确定分支,提示改用 --branch 和 --commit(L3644),该步骤退出码 1(L3645)。09:12:09 另见一处 exit code 1(L3738),对应步骤输出未含于本选段,原因无法确定。
    • 与本次改动的关系:无法确定;Run SHA 与 PR SHA 相同仅说明被测提交为 PR 头部;本批提供的 patch 匹配为 0/1 文件,未见相关改动内容,不能证实或排除本次修改与该检查的关联。detached HEAD 本身由 L3644 直接证实,属检出状态而非产品代码行为。
    • 建议:最小方向:核对该步骤对脚本的调用处是否缺 --branch/--commit 传参(脚本自身提示的替代方式),或让脚本兼容 detached HEAD(如从 CI 事件上下文取分支来源)。具体改法需先查看工作流与脚本实现,不预设唯一实现。

@hygon-ai-reviewer hygon-ai-reviewer Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Review

🔴 需要修改

发现有明确证据的高优先级问题。

已确认 1 个问题,其中 1 个已添加到对应代码行。

变更概览

本次变更主要包含:

  • ci.yml 的 optest 步骤改为显式传入 PR 头部分支名和提交 SHA,并对非 PR 场景保留回退值。
  • 新增 quality-gate.yml:PR 指向 main 时复用外部仓库的质量门工作流,使用指定 runner 标签并按 PR 编号做并发去重。
文件审查摘要
文件 变更 审查结果
.github/workflows/ci.yml 修改 · +7/-1 P1 × 1
.github/workflows/quality-gate.yml 新增 · +25/-0 —
审查信息
  • 变更统计:2 个文件,+32/-1。
  • 覆盖情况:共 2 个文件,已完整审查 2 个。
  • 候选问题:1 项;证据复核过滤:0 项;发布前敏感信息保护:0 项。
  • 本服务以 GitHub 提供的 PR diff 为审查主体,PR 描述与按相关性选取的仓库片段仅用于核验;未执行代码或重跑测试,结论仍需维护者核验。
提交修复并推送新 commit 后,将自动审查 PR 的最新版本。
CI 失败证据:AITER CI
  • build-and-test:aiter 测试脚本步骤直接报错:--test_dir 源码处于 detached HEAD,无法确定分支,提示改用 --branch 和 --commit(L3691),随后该步骤以退出码 1 结束(L3692)。此前 wheel 安装成功(L3690),说明失败不在依赖安装环节,而在脚本对 detached HEAD 的分支判定/参数校验。
    • 与本次改动的关系:无法确定;本批日志未附匹配的 PR patch(0/2 文件),无法核对本次改动是否触及报错脚本或其工作流调用处;Run SHA 与 PR SHA 相同不构成相关性证明,故只能判无法确定。
    • 建议:在调用该脚本的工作流步骤补充 --branch 与 --commit 参数以适配 detached HEAD(取当前 run 的分支和 SHA),或为脚本增加 detached HEAD 场景的参数回退逻辑;为方向性建议,需人工核验调用处后再改。

Comment thread .github/workflows/ci.yml
# asking it to infer a branch from that merge ref.
run: >-
optest --op_name aiter --test_mode all --test_dir "$GITHUB_WORKSPACE"
--branch "${{ github.event.pull_request.head.ref || github.ref_name }}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 · CI 脚本注入:分支名直接拼入 run 命令

触发条件: 攻击者从 fork 发起 PR(本 PR 场景明确覆盖 fork 工作流),将分支命名为包含 shell 元字符(如分号或命令替换语法)的合法 git 分支名,触发 pull_request 事件。

证据与影响: optest 命令使用 --branch "${{ github.event.pull_request.head.ref || github.ref_name }}"。GitHub 表达式在 shell 执行前做文本替换,分支名由 fork 作者完全控制,可提前闭合引号或以元字符追加命令。 注入的命令在 CI 作业内以工作流身份执行,可访问已检出含私有子模块的工作区、该作业可用的凭据,并在 runner 上执行任意操作。

修改建议: 改用环境变量中转:在 step 定义 env: PR_REF: ${{ github.event.pull_request.head.ref || github.ref_name }},run 内改为 --branch "$PR_REF"(commit 同理)。

@lyt-ghub
lyt-ghub merged commit 93d42a9 into HYGON-AI:main Sep 16, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant