这份文档将会简要的介绍DragonOS Github仓库的代码提交规范,主要是给出了基于Conventional Commit的命名规范,以及对DragonOS Bot的简要介绍
关于约定式提交的详细规范,在Conventional Commit/约定式提交网站中有详细介绍,在本节末尾将给出示例(摘自Conventional Commit/约定式提交网站),可选择性阅读。我们做出以下特别说明:
破坏性变更(BREAKING CHANGES)
做特殊说明,或者说,在当前开发环境中不会产生对用户产生显著影响的破坏性变更,因此无特殊需要,DragonOS内核不应使用诸如feat!
来表示破坏性变更。(内核之外,例如dadk,仍需遵循规范)kernel/src/driver/net
中的特性追加,那么应当命名为feat(driver/net):
,如果是发生在kernel/src/mm/allocator
中,应当命名为feat(mm)
,简而言之就是要尽可能简短的表现出所属模块,大多数情况下,不应使用超过两级的范围标识,例如fix(x86_64/driver/apic)
是错误的,应当命名为fix(x86_64/apic)
issue checker
会对标题格式进行简单审查,如果不符合格式的将会被标记为ambiguous
,贡献者们请按需修改feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
feat!: send an email to the customer when a product is shipped
feat(api)!: send an email to the customer when a product is shipped
chore!: drop support for Node 6
BREAKING CHANGE: use JavaScript features not available in Node 6.
docs: correct spelling of CHANGELOG
feat(lang): add polish language
DragonOS使用triagebot来实现自动标签功能以及分配reviewer,贡献者也可以通过部分命令与triagebot交互,详见triagebot