Skip to content

Fix Windows engine wheel runtime packaging#993

Merged
qin-ctx merged 1 commit intomainfrom
fix/release-build-workflow
Mar 26, 2026
Merged

Fix Windows engine wheel runtime packaging#993
qin-ctx merged 1 commit intomainfrom
fix/release-build-workflow

Conversation

@zhoujh01
Copy link
Collaborator

Summary
这次提交 828db85 主要修复了 Windows 下 openviking.storage.vectordb.engine 的 wheel 运行时加载问
题,并顺手清理了已确认无用的 MinGW DLL 打包逻辑。

  • 修复 Windows abi3 扩展错误链接到版本化 Python runtime 的问题。
    之前 engine 的 .pyd 在 Windows 上会绑定到类似 python310.dll 的版本化运行时,导致在 Python 3.12
    上安装新包后仍然导入失败。现在构建阶段会显式传递 stable ABI 所需的 Python runtime 路径,并在
    CMake 中统一使用 stable ABI 链接方式,避免再依赖 Python3::Python。
  • 保留 wheel 安装后的 Windows DLL 搜索路径注册。
    在 engine loader 中继续注册 engine/、openviking/lib/、openviking/bin/ 这些目录,确保 wheel 安装
    后的 Windows 运行时能正确找到包内依赖 DLL。
  • 删除无效的 MinGW runtime DLL bundling 逻辑。
    已确认当前 engine .pyd 不再依赖 libstdc++-6.dll、libgcc_s_、libwinpthread-1.dll 等 MinGW
    runtime DLL,因此移除了构建时复制这些 DLL 到 engine/ 目录的逻辑,也移除了 engine/
    .dll 的打包配
    置,减少 wheel 冗余内容。
  • 增加回归测试和构建约束校验。
    新增测试覆盖:
    • Windows abi3 构建必须使用 stable ABI 链接
    • wheel 包配置中不再包含无用的 engine/*.dll
    • Windows loader 仍保留 DLL 搜索路径注册
  • 增加 Windows wheel smoke test。
    在 GitHub Actions 的 Windows wheel 构建流程中增加导入 smoke test,确保构建产物至少能完成 import
    openviking.storage.vectordb.engine。

Files Changed

  • setup.py
  • src/CMakeLists.txt
  • openviking/storage/vectordb/engine/init.py
  • tests/misc/test_abi3_packaging_config.py
  • .github/workflows/_build.yml

Test Plan

  • uv run pytest tests/misc/test_abi3_packaging_config.py tests/misc/
    test_vectordb_engine_loader.py tests/cli/test_doctor.py -q

fix(windows): link abi3 engine against python3 runtime

chore(windows): drop unused mingw engine dll bundling
@github-actions
Copy link

Failed to generate code suggestions for PR

@qin-ctx qin-ctx merged commit 84d2cf8 into main Mar 26, 2026
22 checks passed
@qin-ctx qin-ctx deleted the fix/release-build-workflow branch March 26, 2026 05:17
@github-project-automation github-project-automation bot moved this from Backlog to Done in OpenViking project Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants