菜单

代码所有权

相关源文件

目的与范围

本文档详细介绍了负责 Sherlock 代码库特定组件的维护者。了解代码所有权对于需要修改系统不同部分的贡献者至关重要。有关一般贡献流程的信息,请参阅贡献指南

CODEOWNERS 机制

Sherlock 使用 GitHub 的 CODEOWNERS 功能,根据修改的文件自动为拉取请求分配审阅者。所有权模式定义在.github/CODEOWNERS

来源:.github/CODEOWNERS

所有权结构

来源:.github/CODEOWNERS

详细所有权映射

组件路径所有者
仓库治理.github/CODEOWNERS1-4
.github/FUNDING.yml1-2
LICENSE
@sdushantha
包分发pyproject.toml@ppfeister
@sdushantha
测试框架.github/workflows/regression.yml
tox.ini
pytest.ini1-5
tests/
@ppfeister

来源:.github/CODEOWNERS

核心维护者

通过 GitHub Sponsors 获得资助的主要维护者是

  • @sdushantha
  • @ppfeister
  • @matheusfelipeog

来源:.github/FUNDING.yml1-2

关键所有权区域

打包系统 (pyproject.toml)

打包配置的更改需要获得 @ppfeister 和 @sdushantha 的批准

未经代码所有者批准对这些项目进行的更改可能会对打包流程产生负面影响。

来源:.github/CODEOWNERS7-9

测试框架

测试框架完全由 @ppfeister 负责,包括:

  1. GitHub Actions 回归工作流
  2. 测试配置 (tox.ini, pytest.ini)
  3. 测试文件和夹具

来源:.github/CODEOWNERS11-15 pytest.ini1-5

贡献者工作流程

向 Sherlock 提交更改时,GitHub 会根据修改的文件自动通知并请求相应的代码所有者进行审查。在合并更改之前,需要获得指定所有者的批准。

所有权系统确保关键组件由在这些领域拥有最多专业知识的维护者进行审查,从而在整个项目中保持代码质量和一致性。