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:还有更多