openSUSE:Build Service Concept PreCheckinFeatures

Jump to: navigation, search

Pre-checkin features, esp. for openSUSE:Factory

openSUSE:Factory checkins still happen via some Novell internal tool chain. This hinders openSUSE to open up and make the process transparent.

This concept document should list all required features to replace these and should describe the OBS equivalent solution.

However, this document is still a draft, so it might not be complete.


Additional review steps

We need at least two review steps for openSUSE Factory submissions. One is a source code review and another one is a legal review. This shall become visible via the "review" feature of the request system.

A project (or package) might require certain reviewer (groups). This shall be defined in the "OBS:RequiredReviewerGroups" which can list a number of groups. Each of this group is always entered as reviewer on every request targeting this project or package.

By default, the openSUSE:Factory project will have

  • source-reviewer-group
  • legal-reviwer-group

As a result, we can review before do the actual checkin. Reviewer groups can be defined independend of check in group and the reject of any group avoids that others spent work on it later, because the request is closing.

This should be flexible enough to define these groups different in other projects. For example the Update projects may get additional

  • maintenance-reviewer-group
  • documentation-reviewer-group

defined to verify the submission. Also the move from Update:Test to Update might get represented via request, but blocked by

  • qa-team

by default.


Generic comment system

We should allow comments in general to requests. Maybe this should not be part of the request but a seperate thing.


Source validation and format support

To guarantee a common format of spec files and to validate a number of common pitfalls prior to check-in time we run scripts over the source. These shall become source services and should actually run already in the submitting projects, but nevertheless also when submitting to factory.

These checks are:

  • spec file format
  • changelog order validation
  • mismatch of files refered in spec file
  • FIXME: there is more