In general, all reviews are welcome and encouraged. The decision to merge a pull request will take into account all feedback from reviews, including comments and approvals.
The weight of an approval towards merging a PR depends on the reviewer's GitHub handle:
project-chip
GitHub organization, their approval checkmark will be gray.project-chip
organization, the checkmark will be green; however, this does not inherently carry additional weight.reviewers-<company>
groups in project-chip teams, their approval generally counts as a “company approval” (see “When do PRs merge” below).While PRs are generally reviewed, contributions to the SDK are mostly made by CSA members. We encourage you to ask for reviews in the appropriate CSA Slack channels once a PR is ready.
To facilitate reviews, remember that your own review time is valuable. Performing a quality review takes time. You are encouraged to help with the review load, which will encourage others to review your PRs.
draft
status may not be reviewed, though some informal reviews may still occur.Changes requested
status on a PR is always respected and must be removed before a PR can be merged. This is typically done by the person who requested the changes.Some directories and platforms have additional requirements, some of which are automated. All will be validated by reviewers:
darwin
require a reviewer from Apple (an approval from reviewers-apple
)./examples
can have their own reviewer list. An approval from a reviewer on that list can lead to a merge. For example, PRs for examples/chef
will be merged if a member of reviewers-google
approves it.Matter SDK Maintainers are explicitly empowered to merge a PR when it meets the quality bar.
SDK maintainers will:
SDK maintainers are explicitly empowered to mark any PR for merging via an sdk-maintainer-approved
label. This includes PRs authored by someone from the same company, with some exceptions:
Currently, a PR will be merged if two independent company representatives have approved it and all other conditions (such as CI passing, no open comments, and no blockers) are met.
fast-track
A fast-track
label exists for SDK leads to use for merging trivial changes or good changes that have not yet received reviews.
This label was created before matter-sdk-maintainers
existed, and its usage is now expected to be very infrequent.
In some cases, administrator-forced merges may be appropriate or required. These should be infrequent. Some examples include: