openFuyao 社区新功能开发流程规范

1. 概述

本文档描述了 openFuyao 社区在增加新功能时,从提案提交到最终代码合入的全过程。社区采用分层决策机制,提案需经过sig组决定评审路径。

2. 版本规划

2.1 需求识别

  • 新功能或改进需求首先在相关的 SIG 组内部被识别和讨论。
  • SIG 组对需求的合理性、价值和技术可行性进行初步评估。

2.2 需求登记

  1. 创建需求 ISSUE

  2. 版本规划例会

    • 在 release-management 例会中评审需求
    • 根据项目路线图和资源情况确定落地版本
    • 记录版本规划决策
  3. 进度跟踪

    • RM SIG 将跟踪所有已规划到当前版本的需求实现进度。

3. 提案阶段

3.1 提案提交

  • ofep 仓库创建新的提案文档 PR
  • 使用模板编写提案内容
  • 提案应包含:背景、目标、设计方案、影响评估等关键信息

3.2 提案评审路径决策

在提交提案后,需要咨询相关 SIG(Special Interest Group)的 Maintainer,确定评审路径。

4. 评审流程

4.1 TC 例会评审

  1. 会前准备

    • 提案提交者提前与 TC 例会秘书沟通 ,并将相关信息添加至 TC 例会日程中
  2. 例会评审

    • 在 TC 例会上进行方案讲解和讨论
    • TC 成员对提案进行评审和投票
    • 记录评审意见和决策结果
  3. 评审结果

    • 通过:进入后续流程
    • 修改:根据反馈修改后重新评审
    • 拒绝:终止流程,归档提案

4.2 SIG 组内评审

  1. 会前准备

    • 提案提交者提前与 SIG Maintainer 沟通 ,并将相关信息添加至 SIG 例会日程中
  2. SIG 内部评审

    • 在相关 SIG 组内进行技术评审
    • SIG Maintainer 负责组织评审并做出决策
    • 评审通过后由 SIG Maintainer 确认

5. 开发实施

5.1 代码开发

  1. 开发准备

    • Fork 上游仓库
    • 基于目标版本分支创建开发分支
    • 遵循社区代码规范进行开发
  2. PR 提交

    • 开发完成后提交 Pull Request
    • 按照 PR 模板要求填写相关信息
    • 关联相关 ISSUE 和提案

5.2 代码评审

  1. SIG 组内评审

    • 相关 SIG 的 Maintainer 和 Committer 进行代码评审
    • 确保代码质量和规范符合要求
  2. 测试验证

    • 通过 CI/CD 流水线自动化测试
    • 必要时进行手动验证和集成测试

6. 合入与发布

6.1 代码合入

  • 评审通过后由 Maintainer 合入代码
  • 合入到规划的目标版本分支

6.2 需求完成确认

  • 当代码合入、相关测试和文档工作全部完成后,该需求的状态将被提交至 RM 例会进行最终评审。
  • RM SIG 根据预定义标准(如功能完整、测试通过、文档就绪)确认需求是否“满足发布条件”。

6.3 版本发布

  • 按照社区发布流程进行版本发布
  • 更新相关文档和发布说明

7. 注意事项

  1. 沟通协作

    • 及时在相关社区频道同步进展
    • 重要决策在邮件列表中进行沟通
  2. 文档维护

    • 及时更新相关设计文档和用户文档
    • 保证文档与代码实现的一致性
  3. 变更管理

    • 如开发过程中需要变更设计方案,需重新评估影响
    • 重大变更需要重新进行评审流程

8. 联系信息


本文档会根据社区发展持续更新,最新版本请以社区官网文档为准。