| 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" |
| 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" |
| |
| ############################################################ |
| # Require Issues |
| ############################################################ |
| # disabling until we have PRs up to date |
| # - if: "'*issue*' not in statuses.successful" |
| # status: failure |
| # explanation: "An issue is required for all PRs" |
| |
| ############################################################ |
| # 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: 0 # Do not auto-add |
| shared-reviewers-apple: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-apple] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-bosch: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-bosch] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-comcast: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-comcast] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-dyson: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-dyson] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-espressif: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-espressif] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-google: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-google] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-grundfos: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-grundfos] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-irobot: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-irobot] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-lg: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-lg] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-logitech: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-logitech] |
| reviews: |
| request: 0 # Requested to be only on demand |
| shared-reviewers-nordic: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-nordic] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-nxp: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-nxp] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-samsung: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-samsung] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-eve: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-eve] |
| reviews: |
| request: 0 # Do not auto-add |
| # shared-reviewers-signify disabled for now, because the reviewers-signify |
| # team is empty and pullapprove seems to mis-handle that badly and treats |
| # _all_ reviewers as being in this group. |
| # |
| # See https://github.com/dropseed/pullapprove/issues/71 |
| # |
| # shared-reviewers-signify: |
| # type: optional |
| # conditions: |
| # - files.include('*') |
| # reviewers: |
| # teams: [reviewers-signify] |
| # reviews: |
| # request: 0 # Do not auto-add |
| shared-reviewers-silabs: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-silabs] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-somfy: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-somfy] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-tcl: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-tcl] |
| reviews: |
| request: 0 # Do not auto-add |
| shared-reviewers-qorvo: |
| type: optional |
| conditions: |
| - files.include('*') |
| reviewers: |
| teams: [reviewers-qorvo] |
| reviews: |
| request: 0 # Do not auto-add |
| |
| ############################################################ |
| # 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" |