Skip to content

mv paddlefleet to paddleformers#4731

Open
risemeup1 wants to merge 20 commits into
PaddlePaddle:developfrom
risemeup1:mv_paddlefleet_repo_to_paddleformers
Open

mv paddlefleet to paddleformers#4731
risemeup1 wants to merge 20 commits into
PaddlePaddle:developfrom
risemeup1:mv_paddlefleet_repo_to_paddleformers

Conversation

@risemeup1

Copy link
Copy Markdown
Collaborator

Before submitting

  • Lint code. If there are lint issues, please format the code first.
# Install and register `pre-commit` in the project folder
pip install pre-commit && pre-commit install

# Process previous code files separately
pre-commit run --file XXXX.py
  • Add test cases into tests folder. If there are codecov issues, please add tests cases first.

PR types

PR changes

Description

@CLAassistant

CLAassistant commented Jun 27, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ risemeup1
❌ root


root seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,仍有需要先修复的阻塞问题。可附着到 diff 的问题已写在行级评论中;下面是 GitHub 当前无法附着到具体行的问题。

  • P1 优先级:P1 非行级:paddleformers/fleet/transformer/moe/{fusion_layer_utils.py,moe_layer.py,vmm_utils.py} 是超大新增文件,GitHub 没有提供可评论 patch preview。当前 Lint 在这些文件上报多处 F821 undefined name 'paddlefleet_ops',并且源码只导入了 paddleformers.fleet as fleet_ops 却调用 paddlefleet_ops.*,会导致 lint 和相关 MoE 导入/执行路径失败。请显式 import paddlefleet_ops,或统一改成实际导入的别名,并修复所有 F821。
  • P2 优先级:P2 非行级:新增的 0_Integration test (H20, single card).txt 是 3.1MB、35605 行的 CI 日志,GitHub 没有提供 patch preview。请从 PR 中移除该生成日志文件,必要时改放到 CI artifact 或 PR 评论链接。
  • P3 优先级:P3 非行级:PR 描述仍是模板内容。建议补充迁移范围、兼容性/API 变化、风险点和已执行的测试/CI 结果,方便维护者判断这次 PaddleFleet 迁移的影响面。
Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

self.experts_group_gemm_node.recompute_fwd_gate_up
), "recompute_fwd_gate_up must be true when use_mlp_subbatch = True"
map_unzipped_indices_to_zipped = paddlefleet.extensions.ops.tokens_unzip_slice(
map_unzipped_indices_to_zipped = fleet.extensions.ops.tokens_unzip_slice(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

paddleformers.fleet 当前只导出 core fleet 模块,并没有 extensions.ops;这些自定义算子在新增的 paddlefleet_ops 包顶层导出。因此进入 mlp_fwd_subbatch_rows 分支会直接 AttributeError。同文件后面的 tokens_unzip_slice/tokens_zip_prob_seq_subbatch,以及 paddleformers/cli/train/deepseek_v3_pretrain/moe_layer.py 的同名拷贝也需要一起改。请显式导入 paddlefleet_ops,并把这些调用统一切到该入口。

Suggested change
map_unzipped_indices_to_zipped = fleet.extensions.ops.tokens_unzip_slice(
map_unzipped_indices_to_zipped = paddlefleet_ops.tokens_unzip_slice(

同类调用的期望形态:

import paddlefleet_ops

dispatched_probs_grad = paddlefleet_ops.tokens_zip_prob_seq_subbatch(...)

"""
if subbatch_rows is None or subbatch_rows <= 0 or zipped_rows <= 0:
return paddlefleet.extensions.ops.tokens_zip_unique_add(zipped, unzipped, index_unzipped, zipped_rows)
return fleet.extensions.ops.tokens_zip_unique_add(zipped, unzipped, index_unzipped, zipped_rows)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

这里同样把旧 paddlefleet.extensions.ops 迁到了 fleet.extensions.ops,但 paddleformers.fleet 不提供 extensionspaddlefleet_ops 才是 tokens_zip_unique_addtokens_zip_unique_add_subbatchmerge_subbatch_cast 的公开入口。这个 helper 在 subbatch/merge 路径会直接失败,paddleformers/cli/train/deepseek_v3_pretrain/moe_utils.py 的同名拷贝也有同样问题。请导入 paddlefleet_ops 并统一替换这些调用。

Suggested change
return fleet.extensions.ops.tokens_zip_unique_add(zipped, unzipped, index_unzipped, zipped_rows)
return paddlefleet_ops.tokens_zip_unique_add(zipped, unzipped, index_unzipped, zipped_rows)

同类调用的期望形态:

import paddlefleet_ops

return paddlefleet_ops.tokens_zip_unique_add_subbatch(...)
return paddlefleet_ops.merge_subbatch_cast(...)

Comment thread setup.py
@@ -203,9 +203,6 @@ def get_console_scripts() -> list[str]:
setup_requires=["numpy"],
install_requires=REQUIRED_PACKAGES,
entry_points={"console_scripts": get_console_scripts()},
extras_require={

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

删除 paddlefleet extra 后,当前包安装流程没有任何地方声明或安装新的 paddlefleet_ops 运行时依赖;但迁移后的 paddleformers.fleet.transformer.transformer_layer 顶层直接 from paddlefleet_ops import is_deep_ep_available。最新 XPU CI 已经在执行 paddleformers-cli train ... 时失败为 ModuleNotFoundError: No module named 'paddlefleet_ops'。请恢复一个可安装的依赖入口(例如把 paddlefleet-ops 加到对应 extra/运行时依赖并同步 README/CI),或者把 paddlefleet_ops 导入改成按 GPU/功能分支延迟导入,保证未安装 custom ops 的 XPU/基础 CLI 路径仍可启动。

期望形态示例:

extras_require={
    "paddlefleet": ["paddlefleet-ops==<compatible-version>"],
}

如果仍保持 optional dependency,则相关模块内应使用 try/except ImportError 或延迟导入,避免 CLI 基础路径在导入阶段失败。

Comment thread CONTRIBUTING.md
@@ -1,158 +0,0 @@
**简体中文**🀄 | [English🌎](.github/CONTRIBUTING_en.md)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 优先级:P2

这个 PR 的目标是迁移 PaddleFleet 代码,但这里删除了仓库根目录的贡献指南,会让 GitHub 贡献入口和已有文档链接失效。请恢复 CONTRIBUTING.md,或在同一 PR 中提供新的等价入口并同步更新所有引用。

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,发现一个新的阻塞问题,详情已写在行级评论中。此前未解决的 PaddleFleet 迁移问题仍由原有讨论线程跟进;本次没有重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

pip cache dir
pip install --upgrade pip
pip install uv coverage==7.13.0 bce-python-sdk==0.8.74 wrapt
uv build --wheel --package paddleformers --out-dir dist --clear -v

@risemeup1111 risemeup1111 Jun 27, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

此前这条评论的正文没有正确提交到 GitHub。当前提交已经改为在 pyproject.toml 中声明根项目,原先 uv build --package paddleformers 找不到 workspace package 的问题按现状看已被后续改动取代;新的安装依赖问题已在当前 diff 的行级评论中单独指出。

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交。上一轮 uv build --package paddleformers 的问题已被新的 pyproject.toml 元数据改动取代;但当前基础依赖又引入了一个会阻塞 XPU/非 CUDA 安装的新问题,详情已写在行级评论中。其他未解决的迁移问题仍由原有讨论线程跟进。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

Comment thread pyproject.toml
"librosa",
"binpacking",
"orjson",
"paddlepaddle-gpu==3.4.0.post20260626+93ecba8dc6c",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

这里把 CUDA 版 paddlepaddle-gpu 放进了 paddleformers 的基础依赖,导致非 CUDA 环境也必须解析这个精确 GPU wheel。最新 XPU CI 已经在 python -m pip install -e . 阶段失败为 No matching distribution found for paddlepaddle-gpu==3.4.0.post20260626+93ecba8dc6c,而该流程刚安装的是 paddlepaddle-xpu。请不要在基础依赖里固定 CUDA wheel;保持 Paddle 安装由各硬件 CI/用户按目标环境单独安装,或拆成明确的 GPU optional extra。

Suggested change
"paddlepaddle-gpu==3.4.0.post20260626+93ecba8dc6c",

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,发现一个新的阻塞问题,详情已写在行级评论中。此前已有未解决问题仍由原有线程跟进,本次未重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

Comment thread _build_backend.py
Comment on lines +101 to +131
def get_requires_for_build_sdist(config_settings=None):
return orig.get_requires_for_build_sdist(config_settings)


def get_requires_for_build_wheel(config_settings=None):
return orig.get_requires_for_build_wheel(config_settings)


def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
return _with_temporary_build_version(
orig.prepare_metadata_for_build_wheel,
metadata_directory,
config_settings,
)


def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
return _with_temporary_build_version(
orig.build_wheel,
wheel_directory,
config_settings,
metadata_directory,
)


def build_sdist(sdist_directory, config_settings=None):
return _with_temporary_build_version(
orig.build_sdist,
sdist_directory,
config_settings,
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

这个自定义 backend 只在 prepare_metadata_for_build_wheel/build_wheel 阶段写入临时 _build_version.py,但 CI 里 uv build --wheel --package paddleformers 先调用 get_requires_for_build_wheel(),setuptools 读取动态 version 时找不到该文件,转而导入 paddleformers/__init__.py 并在隔离构建环境里因缺少运行时依赖 colorlog 直接失败。同时 XPU CI 的 python -m pip install -e . 也因为 backend 没有暴露 PEP 660 build_editable hook 而失败。请把获取 build requirements 的 hook 也放进临时 version 上下文,并代理 editable hooks,保证 wheel 构建和 editable install 都能工作。

Suggested change
def get_requires_for_build_sdist(config_settings=None):
return orig.get_requires_for_build_sdist(config_settings)
def get_requires_for_build_wheel(config_settings=None):
return orig.get_requires_for_build_wheel(config_settings)
def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
return _with_temporary_build_version(
orig.prepare_metadata_for_build_wheel,
metadata_directory,
config_settings,
)
def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
return _with_temporary_build_version(
orig.build_wheel,
wheel_directory,
config_settings,
metadata_directory,
)
def build_sdist(sdist_directory, config_settings=None):
return _with_temporary_build_version(
orig.build_sdist,
sdist_directory,
config_settings,
)
def get_requires_for_build_sdist(config_settings=None):
return _with_temporary_build_version(
orig.get_requires_for_build_sdist,
config_settings,
)
def get_requires_for_build_wheel(config_settings=None):
return _with_temporary_build_version(
orig.get_requires_for_build_wheel,
config_settings,
)
def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
return _with_temporary_build_version(
orig.prepare_metadata_for_build_wheel,
metadata_directory,
config_settings,
)
def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
return _with_temporary_build_version(
orig.build_wheel,
wheel_directory,
config_settings,
metadata_directory,
)
def build_sdist(sdist_directory, config_settings=None):
return _with_temporary_build_version(
orig.build_sdist,
sdist_directory,
config_settings,
)
def get_requires_for_build_editable(config_settings=None):
return _with_temporary_build_version(
orig.get_requires_for_build_editable,
config_settings,
)
def prepare_metadata_for_build_editable(metadata_directory, config_settings=None):
return _with_temporary_build_version(
orig.prepare_metadata_for_build_editable,
metadata_directory,
config_settings,
)
def build_editable(wheel_directory, config_settings=None, metadata_directory=None):
return _with_temporary_build_version(
orig.build_editable,
wheel_directory,
config_settings,
metadata_directory,
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

最新提交已经把 get_requires_for_build_sdist / get_requires_for_build_wheel 放进临时 version 上下文,这部分看起来已处理;但同一线程里的 editable install 问题仍未解决。当前 backend 仍只导出 wheel/sdist hooks,没有代理 PEP 660 的 get_requires_for_build_editableprepare_metadata_for_build_editablebuild_editable,因此 python -m pip install -e . 这类开发/CI 安装路径仍会被判定为不支持 editable 安装。请继续在同一临时 version 上下文中代理 editable hooks。

建议补齐的形态:

def get_requires_for_build_editable(config_settings=None):
    return _with_temporary_build_version(orig.get_requires_for_build_editable, config_settings)


def prepare_metadata_for_build_editable(metadata_directory, config_settings=None):
    return _with_temporary_build_version(
        orig.prepare_metadata_for_build_editable,
        metadata_directory,
        config_settings,
    )


def build_editable(wheel_directory, config_settings=None, metadata_directory=None):
    return _with_temporary_build_version(
        orig.build_editable,
        wheel_directory,
        config_settings,
        metadata_directory,
    )

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交。_build_backend.py 中上一轮提到的 wheel build hooks 已部分修复,但 editable install 支持仍缺失,已在原行级线程补充说明。其他仍未解决的问题继续由原有线程跟进,本次未重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

@codecov-commenter

codecov-commenter commented Jun 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@656df30). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #4731   +/-   ##
==========================================
  Coverage           ?   14.14%           
==========================================
  Files              ?      631           
  Lines              ?   112129           
  Branches           ?    19790           
==========================================
  Hits               ?    15859           
  Misses             ?    94597           
  Partials           ?     1673           
Flag Coverage Δ
coverage_combine 14.14% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,发现一个新的 Python 3.8 构建兼容性问题,详情已写在行级评论中。此前仍未解决的问题继续由原有线程跟进,本次未重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

Comment thread _build_backend.py
# See the License for the specific language governing permissions and
# limitations under the License.

import os

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

_build_backend.py 会被 PEP 517 前端在构建前直接导入,但项目仍声明 requires-python = ">=3.8"。当前文件第 66 行使用 tuple[str, str],在 Python 3.8 上没有延迟注解时会在导入阶段求值并触发 TypeError: 'type' object is not subscriptable,导致 pip install / python -m build 在受支持的 3.8 环境直接失败。请延迟注解求值,或改用 typing.Tuple;这里可以直接在首个普通 import 前开启 future annotations:

Suggested change
import os
from __future__ import annotations
import os

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交。paddleformers/fleet/transformer/moe/fusion_layer_utils.py 已补 import paddlefleet_ops,此前该文件的 F821 部分看起来已处理;同类问题在 moe_layer.pyvmm_utils.py 仍由已有讨论跟进。_build_backend.py 的 Python 3.8 注解兼容和 editable hooks 问题本次没有改动,继续由原行级线程跟进。本次未新增行级评论。

  • P3 优先级:P3 非行级:PR 描述仍是模板内容。建议补充迁移范围、兼容性/API 变化、主要风险点,以及已执行或仍失败的 CI/测试结果,方便维护者判断本次 PaddleFleet 迁移的影响面。
Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,发现一个新的阻塞问题,详情已写在行级评论中。此前未解决的问题继续由原有线程跟进,本次未重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

wget -q --no-proxy https://paddle-qa.bj.bcebos.com/CodeSync/develop/PaddleFormers.tar --no-check-certificate
echo "Extracting PaddleFormers.tar"
echo "Downloading PaddleFormers.tar.gz"
wget -q --no-proxy --no-check-certificate "${{ needs.clone.outputs.repo_archive_url }}" -O PaddleFormers.tar.gz

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

这里改为下载 _clone_linux.yml 产物后,容器里的仓库已经是共享 clone job 在本地 develop 分支上合并 PR 后打出的 archive;当前 CI 日志显示 checkout 后是 HEAD -> develop 且提交为 Merge branch 'pr/4731' into develop。但后续 scripts/unit_test/ci_unittest.sh 仍收到 AGILE_COMPILE_BRANCH=develop,并用 git diff --numstat ${AGILE_COMPILE_BRANCH} -- 判断是否运行测试,同时把同一个 ref 交给 scripts/install_or_build_ops_wheel.sh 判断 packages/ 是否需要本地构建。实际本次 unittest-gpu-ci 已在约两分钟内结束,PYTEST_EXECUTE_FLAG_FILE 未创建、coverage upload 被跳过,说明 PR 的 GPU 单测没有真正执行。请改为保留并传入真正的 base ref,例如远端 base 或 merge commit 的第一父提交,避免 diff 变成当前分支与自身比较。unittest-gpu-ce.yml 的同类下载逻辑也需要一起修正。

修复形态示例:

bash -x scripts/unit_test/ci_unittest.sh ${paddle_whl} false ${PYTEST_EXECUTE_FLAG_FILE} ${AGILE_COMPILE_BRANCH:+origin/${AGILE_COMPILE_BRANCH}}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

最新提交 a8a435b 仍复现这个问题:当前 unittest-gpu-ci 日志里 archive 解出后仍是 HEAD -> develop 的 merge commit,环境里 AGILE_COMPILE_BRANCH=developci_unittest.sh 实际执行 git diff --numstat develop -- 后进入 Changed Not CI case, Skips,最终 PYTEST_EXECUTE_FLAG_FILE 未创建且 coverage upload 被跳过。也就是说 GPU 单测仍没有真正执行。请不要把本地 develop 分支名作为 diff base 传给脚本,改为传入可解析到真实 base 的 ref/sha,例如远端 base 或 merge commit 第一父。

修复形态示例:

bash -x scripts/unit_test/ci_unittest.sh ${paddle_whl} false ${PYTEST_EXECUTE_FLAG_FILE} origin/${AGILE_COMPILE_BRANCH}

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交,发现一个新的阻塞问题,详情已写在行级评论中。此前未解决的问题继续由原有线程跟进,本次未重复展开。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

-e "PR_ID=$PR_ID" \
-e "BRANCH=$BRANCH" \
-e "COMMIT_ID=$COMMIT_ID" \
-e "AGILE_COMPILE_BRANCH=$BRANCH" \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

这里把 AGILE_COMPILE_BRANCH 设成 develop,同时下面 ci_model_unittest.sh 仍以同一个 BRANCH 参数执行 git diff --numstat ${BRANCH} --。但当前代码来源已经改成 _clone_linux.yml 打包的 merge archive,该 archive 在本地 develop 分支上包含 PR 合并提交;在容器里再拿 develop 和当前 HEAD -> develop 比较会得到空 diff。影响是 scripts/regression/install_requirements.sh/install_or_build_ops_wheel.sh 无法识别本 PR 的 packages/ 变更,可能安装旧的 paddlefleet_ops wheel;模型选择也会退回默认 glm4_moe,而不是按 PR diff 覆盖相关模型。请传入真实 base ref(例如 origin/${BRANCH} 或 merge commit 第一父),并让 ci_model_unittest.sh 的第四个参数使用同一个 base ref。

修复形态示例:

-e "AGILE_COMPILE_BRANCH=origin/$BRANCH" \
...
bash -x scripts/regression/ci_model_unittest.sh True False "$UPDATE_BASELINE_MODELS" "origin/$BRANCH" "${PR_NUMBER}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 优先级:P1

最新提交 20b08ad6 仍未解决这里的模型选择问题,并且把 ci_model_unittest.shpackages/* 变更直接设置 models="all" 的兜底删除了。当前 workflow 仍调用 ci_model_unittest.sh ... $BRANCH ${PR_NUMBER},脚本也仍执行 git diff --numstat ${BRANCH} --;在 merge archive 的本地 develop 上这仍会得到空 diff,并退回默认 glm4_moe。即使后续把 ${BRANCH} 改成真实 base ref,删除这个兜底也会让仅 packages/ 的变更不再覆盖所有相关模型。请同时处理两点:传入真实 base ref/sha,并恢复 packages/* 触发全量模型,或提供等价的覆盖策略。

修复形态示例:

if [[ "$file_name" == packages/* ]]; then
    models="all"
    echo "packages/ changes detected, running all models"
    return
fi

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交。unittest-gpu.yml 的 GPU 单测仍会因为本地 develop diff 为空而跳过,model-unittest-gpu.yml 的预构建 wheel 只部分处理了上一轮问题,模型选择仍使用同样的空 diff;这两点已在原有行级线程补充最新证据,未新增重复行级评论。此前其他未解决问题继续由原有线程跟进。

Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

@risemeup1111 risemeup1111 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

已复查最新提交。模型单测的 diff base 问题仍未解决,且这次删除了 packages/* 变更触发全量模型的兜底;我已在原有模型单测线程补充最新证据。此前 GPU 单测空 diff 以及其他未解决问题继续由原线程跟进,本次未新增重复行级评论。

  • P3 优先级:P3 非行级:PR 描述仍是模板内容。建议补充迁移范围、兼容性/API 变化、主要风险点,以及已执行或仍失败的 CI/测试结果。
Powered by Nyanpasu with gpt-5.5 xhigh, please check the suggestions carefully.

@risemeup1111 risemeup1111 mentioned this pull request Jun 29, 2026
2 tasks
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.

4 participants