| version: 3 |
| |
| # https://developer.github.com/v3/previews/#draft-pull-requests |
| github_api_version: "shadow-cat-preview" |
| |
| ############################################################ |
| # Overrides |
| ############################################################ |
| |
| overrides: |
| - if: "'hotfix' in labels" |
| status: success |
| explanation: "Hotfix label added, bypassing reviews" |
| |
| ############################################################ |
| # Draft PRs |
| ############################################################ |
| - if: "draft or 'WIP' in title" |
| status: pending |
| explanation: "PR is draft, pending review" |
| - if: "draft" |
| status: pending |
| explanation: "PR is draft, pending review" |
| |
| ############################################################ |
| # License Checks |
| ############################################################ |
| - if: "'*license/cla*' not in statuses.successful" |
| status: pending |
| explanation: "CLA must be agreed to by all contributors" |
| |
| ############################################################ |
| # Conditions to Skip Review |
| ############################################################ |
| - if: "base.ref != 'master'" |
| status: success |
| explanation: "Review not required unless merging to master" |
| |
| ############################################################ |
| # Required status checks |
| ############################################################ |
| - if: "'*restyle*' not in statuses.successful" |
| status: failure |
| explanation: "Style must be inline before reviewing can be complete" |
| |
| ############################################################ |
| # Fast tracking |
| ############################################################ |
| - if: "'fast track' in labels" |
| status: success |
| explanation: "PR has been fast tracked, bypassing reviews" |
| |
| ############################################################ |
| # 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-espressif: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-espressif] |
| 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-*')) >= 2 |
| reviews: |
| required: 0 |
| labels: |
| approved: "review - approved" |
| pending: "review - pending" |
| rejected: "review - changed requested" |