Skip to content

Question on PR Approval process and github enforcement #172

@tlohmar

Description

@tlohmar

Problem description

The Project Structure and Roles page contains a good description of the CAMARA “Pull Request handling” process (Link). The general process is pretty clear, i.e. (Step 5) all contributors must have approved the Pull Request, either implicitly (by lazy consensus) or explicitly (by hitting the approval button for a Pull Request).

However, it is not completely clear, which steps are supported or enforced by the github platform.

More specifically, the text says that “As default all Maintainers and all CodeOwners of the repository shall be invited as reviewers”. The github platform automatically adds all CodeOwners of the repository into the reviewers list. When there is a difference between the CodeOwners and Maintainers, the PR creator must add the Maintainers manually.

The Project Charter says that “Technical decisions that only affect a single Sub Project are made informally by the maintainers of this Sub Project, and lazy consensus is assumed.” (Decision Making). Thus, CodeOwners seem to have a more editing responsibility, since only Maintainers are supposed to vote in case consensus cannot be reached.

The picture ((Link)) indicate, that (two) Maintainers and (one) CodeOwner is involved into the Approval Process. There seems to be some inconsistency between the text (all contributors) and the picture in this section. Further, the Decision Making Section of the Project Charter actually only mentions Maintainers as responsible for technical decisions. CodeOwners seem to have no additional authority.

The github platform automatically blocks the merge operation for Pull Requests. It is unclear, what condition triggers the unblocking of the merge operation. Seems that one or more CodeOwners are required to explicitly Approve the Pull Request.

Questions:

  • Would it be possible to clarify the condition (github platform rule), which unblocks Pull Request, so that the Pull Request can get merged? How many CodeOwners must have hit the 'approve' button of a Pull Request to unblock?

Suggestions:

  • Would it be possible to also add all Maintainers to the list of default reviewers for a Pull Request (github automation change)? When this is technically not possible, it is suggested to emphasis this manual step in the text.
  • Would it be possible to clarify the picture in the [Changes and contributions to CAMARA](Changes and contributions to CAMARA) Section to reflect the [Decision Making](Changes and contributions to CAMARA) description, by either adding normal contributors (agreement by the team) or by removing CodeOwners (technical decisions by Maintainers)?

Expected action
Please clarify questions above and potentially follow the suggestions.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions