| version: 3 |
| |
| # https://developer.github.com/v3/previews/#draft-pull-requests |
| github_api_version: "shadow-cat-preview" |
| |
| ############################################################ |
| # Conditions |
| ############################################################ |
| |
| pullapprove_conditions: |
| ############################################################ |
| # License Checks |
| ############################################################ |
| - condition: "'*license/cla*' in statuses.successful" |
| unmet_status: "pending" |
| explanation: "CLA must be agreed to by all contributors" |
| |
| ############################################################ |
| # Draft PRs |
| ############################################################ |
| - condition: "'WIP' not in title" |
| unmet_status: "pending" |
| explanation: "Work in progress" |
| |
| - condition: "not draft" |
| unmet_status: "pending" |
| explanation: "Work in progress" |
| |
| ############################################################ |
| # Conditions to Skip Review |
| ############################################################ |
| - condition: "base.ref == 'master'" |
| unmet_status: "success" |
| explanation: "Review not required unless merging to master" |
| |
| ############################################################ |
| # Bypass reviews |
| ############################################################ |
| - "'hotfix' not in labels" |
| |
| ############################################################ |
| # Required status checks |
| ############################################################ |
| - condition: "'*restyle*' in statuses.successful" |
| unmet_status: "failure" |
| explanation: "Style must be inline before reviewing can be complete" |
| |
| ############################################################ |
| # Notifications |
| ############################################################ |
| |
| notifications: |
| ############################################################ |
| # New contributors |
| ############################################################ |
| - when: pull_request.opened |
| if: "author_association == 'FIRST_TIME_CONTRIBUTOR'" |
| comment: | |
| Hey @{{ author }}, thanks for the PR! The review will start once |
| the tests and CI checks have passed. If they don't, please review |
| the logs and try to fix the issues (ask for help if you can't |
| figure it out). A reviewer will be assigned once the tests are |
| passing and they'll walk you through getting the PR finished |
| and merged. |
| |
| groups: |
| ############################################################ |
| # Shared Reviewer Groups |
| ############################################################ |
| shared-reviewers-amazon: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-amazon] |
| reviews: |
| request: 10 |
| shared-reviewers-apple: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-apple] |
| reviews: |
| request: 10 |
| shared-reviewers-comcast: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-comcast] |
| reviews: |
| request: 10 |
| shared-reviewers-google: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-google] |
| reviews: |
| request: 10 |
| # shared-reviewers-lg: |
| # type: optional |
| # conditions: |
| # - files.include('*') |
| # reviewers: |
| # teams: [reviewers-lg] |
| # reviews: |
| # request: 10 |
| shared-reviewers-nordic: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-nordic] |
| reviews: |
| request: 10 |
| shared-reviewers-samsung: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-samsung] |
| reviews: |
| request: 10 |
| shared-reviewers-silabs: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-silabs] |
| reviews: |
| request: 10 |
| # shared-reviewers-tcl: |
| # type: optional |
| # conditions: |
| # - files.include('*') |
| # reviewers: |
| # teams: [reviewers-tcl] |
| # reviews: |
| # request: 1 |
| |
| ############################################################ |
| # Base Required Reviewers |
| ############################################################ |
| required-reviewers: |
| description: > |
| [Required |
| Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements) |
| This is the main group of required reviews for general pull |
| requests. |
| type: required |
| requirements: |
| - len(groups.approved.include('shared-reviewers-*')) >= 3 |
| reviews: |
| required: 0 |
| labels: |
| approved: "review - approved" |
| pending: "review - pending" |
| rejected: "review - changed requested" |