贡献#
如果您有兴趣为cuVS做出贡献,您的贡献将分为三类:
您想要报告一个错误、功能请求或文档问题
提交一个问题,描述您遇到的情况或您希望看到的变化。
RAPIDS团队将评估这些问题并对其进行分类,安排它们进入发布计划。如果您认为该问题需要优先处理,请在问题上评论以通知团队。
您想要提出一个新功能并实现它
发布您计划的功能,我们将讨论设计和实现。
一旦我们同意计划看起来不错,请继续使用下面的代码贡献指南来实现它。
您希望为未解决的问题实现功能或修复错误
请遵循下面的代码贡献指南。
如果您需要关于特定问题的更多上下文,请询问,我们将提供。
代码贡献#
你的第一个问题#
阅读项目的README.md 以了解如何设置开发环境
找到一个要处理的问题。最好的方法是寻找good first issue 或help wanted标签
在问题上评论说你将要处理它
编码!确保更新单元测试!
完成后,创建您的拉取请求
验证CI是否通过了所有状态检查。如果需要,请修复。
等待其他开发者审查您的代码并根据需要更新代码
一旦审查并批准,RAPIDS 开发者将合并您的拉取请求
记住,如果你对任何事情不确定,不要犹豫,在问题上发表评论并请求澄清!
Python / 预提交钩子#
CUVS 使用 pre-commit 来执行代码检查器和格式化工具,例如 Black, isort, 和 flake8。这些工具确保整个项目中的代码格式一致。使用 pre-commit 确保所有开发人员的检查器版本和选项保持一致。此外,还有一个 CI 检查来确保提交的代码符合我们的标准。
要使用pre-commit,请通过conda或pip安装:
conda install -c conda-forge pre-commit
pip install pre-commit
然后在提交代码之前运行预提交钩子:
pre-commit run
可选地,您可以设置预提交钩子,以便在您进行git提交时自动运行。这可以通过运行以下命令来完成:
pre-commit install
现在每次提交更改时都会运行代码检查器和格式化工具。
你可以使用 git commit --no-verify 或简写版本 git commit -n 来跳过这些检查。
经验丰富的开发者#
一旦你熟悉了代码并感到更加舒适,你可以在我们的项目看板中查看我们下一个版本的优先问题。
专业提示: 始终查看编号最高的发布板以寻找需要处理的问题。这也是RAPIDS开发者集中精力的地方。
查看未分配的问题,并找到一个你愿意贡献的问题。从上面的步骤3开始,在问题上发表评论,让其他人知道你在处理它。如果你有任何与问题实现相关的问题,请在问题中提问,而不是在PR中。
归属#
部分内容改编自 https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md