openSUSE:构建服务概念预提交功能
预提交功能,尤其是针对 openSUSE:Factory
openSUSE:Factory 提交仍然通过一些 Novell 内部工具链进行。这阻碍了 openSUSE 的开放和使流程透明化。
此概念文档应列出所有必需的功能以取代这些功能,并应描述 OBS 等效的解决方案。
但是,此文档仍然是草稿,因此可能不完整。
额外的审查步骤
我们需要至少两个审查步骤来提交到 openSUSE Factory。一个是源代码审查,另一个是法律审查。这应通过请求系统的“审查”功能可见。
一个项目(或软件包)可能需要特定的审查者(组)。这应在“OBS:RequiredReviewerGroups”中定义,其中可以列出多个组。该组的每个组始终作为针对该项目或软件包的每个请求的审查者。
默认情况下,openSUSE:Factory 项目将具有
- source-reviewer-group
- legal-reviwer-group
因此,我们可以在实际提交之前进行审查。审查组可以独立于提交组定义,并且任何组的拒绝都会避免其他人为此工作,因为请求将被关闭。
这应该足够灵活,以便在其他项目中以不同的方式定义这些组。例如,Update 项目可能会获得额外的
- maintenance-reviewer-group
- documentation-reviewer-group
来验证提交。从 Update:Test 到 Update 的移动也可能通过请求表示,但被
- qa-team
默认情况下阻止。
通用评论系统
我们应该允许对请求进行通用评论。也许这不应该成为请求的一部分,而应该是一个单独的东西。
源文件验证和格式支持
为了保证 spec 文件的通用格式,并在提交时间之前验证一些常见的陷阱,我们会在源文件上运行脚本。这些应成为源服务,并且实际上应该已经在提交项目中运行,但无论如何,在提交到 factory 时也应运行。
这些检查是
- spec 文件格式
- changelog 顺序验证
- spec 文件中引用的文件不匹配
- FIXME:还有更多
: