已关闭
ci: GitCode test job 接入三模块 Python 单测(codearts runner python 可用性评估先行) #630
aflyingto创建于  9 天前关闭于  9 天前
aflyingto成员
9 天前 创建

背景与证据

问题

GitCode 原生 CI 的 test job 不运行任何 Python 单测——tests/test_wrapper.py(npm wrapper 契约)、tests/test_verify_remote_facts.py(远端事实核验)、tests/test_validate_ai_record.py(AI 记录校验器 record 语义)三模块仅在 GitHub 镜像 CI 的 ubuntu test job 执行(PR !603 接线,ci.yml:113)。GitCode 侧的 Python 回归(例如 record 语义、wrapper 平台分支)在该平台的 CI 上无信号。

证据

  • .gitcode/workflows/ci.yml 全文 7 处 python 引用均在 package job(:161-163 setup-python 3.12、:187-193 wheel 构建/安装/冒烟),unittest/test_ 调用为 0——PR !603 文档审查实况核验结论
  • test job 仅含 setup-node(Node wrapper 单测),无 setup-python——codearts runner 的 python3 可用性未评估
  • spec/delivery/ci-workflows.md §2.1 GitCode test 行仅记"npm wrapper 单测"(Node 语境,今日准确);PR !603 评审已给出未来接线点:GitCode test job 镜像步骤 + §2.1 GitCode 行同步

改动建议

  1. 评估 codearts-hosted runner 的 python3 开箱可用性(test job 无 setup-python;若不可靠,评估在 test job 增加 setup-python 的成本与收益,评审定夺)
  2. 可行则在 test job 增加镜像步骤:python3 -m unittest tests.test_wrapper tests.test_verify_remote_facts tests.test_validate_ai_record -v(与 GitHub ubuntu 步骤同款显式三模块形态)
  3. 同步 §2.1 GitCode test 行措辞("Python 单测(wrapper、AI 记录校验器、远端事实核验)")
  4. 契约影响评估:步骤新增属 tests/contracts/ci_workflow_test.go 声明的未覆盖维度(步骤序列),预期零契约改动;但若评估结论需要在 test job 增加 setup-python action,须对照既有 validator(validatePackage 钉的是 package job 的 setup-python,test job 新增预计无冲突——需实测确认)

验收标准

  • GitCode CI 的 test job 运行三模块 Python 单测并随 PR 绿(或:评估不可行时在 spec 记录结论与理由,该支线关闭)
  • §2.1 GitCode 行措辞与实际步骤一致
  • 契约套件(21 负例)零改动通过,或如有触碰则同步契约并说明

影响范围

.gitcode/workflows/ci.yml、spec/delivery/ci-workflows.md、(如契约触碰)tests/contracts/ci_workflow_test.go

likedislike
Aaflyingto成员
9 天前 添加了label:scope/ci, status/triage,type/test
aflyingto成员
9 天前 评论:

验证记录

  • 当前版本或分支: main @ 1d6baad
  • 验证时间: 2026-10-26
  • 复现命令: grep -n "python\|unittest" .gitcode/workflows/ci.yml;grep -n "unittest" .github/workflows/ci.yml
  • 实际结果: GitCode ci.yml 的 7 处 python 引用全部位于 package job(setup-python 3.12 + wheel 构建/安装/冒烟),test job 零 Python 步骤、零 unittest 调用;三模块(test_wrapper / test_verify_remote_facts / test_validate_ai_record)仅在 GitHub ubuntu test job 执行(ci.yml:113,!603 接线)——issue 主张属实
  • 预期结果: GitCode test job 运行三模块 Python 单测并随 CI 绿;或评估不可行时在 spec 记录结论关闭支线
  • 时间线检查: issue #630 为本日创建(源于 !603 未覆盖项 + 评审接线点建议),无重复(python 关键词仅 #599 安装器诊断与 #588 品牌适配,均不相关)、无先行 PR
  • 结论: 继续修复——采用"PR 即实验"路径:test job 直接新增 python3 -m unittest 三模块步骤(不加 setup-python),分支上的 GitCode CI run 即为 codearts runner python3 可用性的判定证据——run 绿则可用性成立且接线落地一步完成;run 红且为 command not found 则补 setup-python(预期契约零冲突:validatePackage 仅钉 package job 的 setup-python,步骤序列属声明未覆盖维度)再走一轮;其余失败形态按实际根因处理
likedislike
Aaflyingto成员
9 天前 添加了label:status/verified;删除了label:status/triage
Aaflyingto成员
9 天前 添加了label:status/in-progress
Aaflyingto成员
9 天前 关联了pull request:ci: run the Python unit tests on the GitCode test job
Aaflyingto成员
9 天前 添加了label:status/ready-for-review
aflyingto成员
9 天前 评论:

开发进度

  • 当前状态: ready-for-review(PR !604 已完成自检、四角色独立评审一次闭环全部 approved、双端 CI 全绿且可用性实验确证,等待人工最终确认与合并)
  • 根因: 三模块 Python 单测仅 GitHub 镜像执行,GitCode 主平台零 Python 步骤(详见验证记录)
  • 主要修改: GitCode test job 新增三模块 Python 单测步骤(与 GitHub 同款)+ §2.1 措辞同步
  • 影响范围: CI 步骤(契约未覆盖维度,21 负例零改动通过)+ 规范措辞
  • 单元测试: 163 包全过;本地三模块 29 用例全过
  • 构建: 无涉
  • 实际命令验证: GitCode CI run b953df34 的 test job Python 步骤实测 Ran 29 tests, OK——codearts runner python3 可用性实验成功("PR 即实验"方法学,日志留证)
  • 安全影响: 无(纯测试步骤)
  • 文档同步: §2.1 GitCode test 行 + 门禁列
  • 风险或未覆盖项: risk/medium,合并前需人工最终确认;无遗留(setup-python 分支未触发)
  • 关联 PR: !604
likedislike
Aaflyingto成员
9 天前 关闭了 issue
Aaflyingto成员
9 天前 添加了label:status/merged