为Ascend IndexSDK贡献

感谢您考虑为 Ascend IndexSDK 做出贡献!我们欢迎任何形式的贡献,包括错误修复、功能增强、文档改进等,甚至只是反馈。无论您是经验丰富的开发者还是第一次参与开源项目,您的帮助都是非常宝贵的。贡献前,请先签署开放项目贡献者许可协议(CLA)。

您可以通过多种方式支持本项目:

请先提前了解社区相关规范:

开发与测试

  1. Fork仓库:在GitCode平台代码仓库右上角点击"Fork"按钮,Fork一份源代码到个人仓

  2. 克隆到本地

    将Fork到个人仓的代码克隆到本地进行代码开发

    git clone https://gitcode.com/<your-username>/IndexSDK.git
    cd IndexSDK
    
  3. 创建开发分支

    git checkout -b {new_branch_name} origin/master
    
  4. 代码开发

    Python代码开发规范请参考昇腾社区 python 语言编程指导昇腾社区 python 语言安全编程指导

    C++代码开发规范请参考昇腾社区 C++ 语言编程指导昇腾社区 C++ 语言安全编程指导

  5. 开发构建验证

    1. 请参考安装指南部署Index SDK开发环境。

    2. 进入build子目录,执行构建脚本:

      cd build
      bash build.sh
      

      构建成功后会在build/output下生成Ascend-mindxsdk-mxindex_{version}_linux-{arch}.run,可安装此包进行功能验证。

    3. 在提交代码前,请补充测试用例并确保所有测试通过,本地执行UT:

      cd build
      bash build.sh ut
      
  6. 执行pre-commit检查

    本地提交代码前请先执行pre-commit检查,检查指导参见pre-commit本地运行指南

  7. 提交Pull Request

    提交PR并等待代码审查。

  8. 社区评审

    如果涉及patch、头文件宏、API接口等更新,需提交社区在SIG例会进行评审,社区定期例会与活动参见会议日历