问题域/PD-241

CI/CD 多平台构建

Multi-Platform CI/CD

通过 GitHub Actions 矩阵策略实现多平台自动构建、测试和 wheel 发布

子问题

1.跨平台编译矩阵

2.C++ 与 Python 联合测试

3.wheel 打包与发布

4.Nightly 双语言覆盖率合并(C++ lcov + Python pytest-cov)

5.持续基准测试指标推送与性能回归检测

6.self-hosted runner 与 GitHub-hosted runner 混合调度

7.TestPyPI 预发布验证流程

各项目的解法1 solutions

Signals

横向对比

维度zvec
构建触发策略PR/Push/merge_group 三触发 + paths-ignore 跳过文档 + 智能并发去重
平台矩阵显式 include 三平台(linux-x64/arm64 + macOS-arm64)+ 架构特定编译标志
代码质量门控Ruff 20+ 规则集 + clang-format 双语言 lint,独立 job 快速失败
Wheel 打包cibuildwheel cp310-312 + manylinux_2_28 + self-hosted runner + PyPI/TestPyPI 双通道
覆盖率体系Nightly COVERAGE 构建 + lcov/gcov + pytest-cov 双语言合并上传 Codecov
基准测试自托管 runner + VectorDBBench 12 组矩阵 + Prometheus Pushgateway 指标推送
依赖管理Dependabot 周一自动更新 GitHub Actions + 版本锁定(ruff/clang-format/cibuildwheel)

最佳实践

1.lint 先行快速失败,构建测试并行执行

2.智能并发 group 区分 PR 分支与 main 分支取消策略

3.COVERAGE 构建类型与 Release 分离避免插桩开销影响日常 CI

4.Dependabot 自动更新 GitHub Actions 依赖版本