Add folder specific review rules (#39037)
diff --git a/.pullapprove.yml b/.pullapprove.yml
index 8126752..344ca8c 100644
--- a/.pullapprove.yml
+++ b/.pullapprove.yml
@@ -238,7 +238,46 @@
request: 0 # Do not auto-add
############################################################
- # Base Required Reviewers
+ # Folder specific review requirements. A PR must meet all
+ # folder specific review requirements for all folders that
+ # it touches with specific requirements defined.
+ ############################################################
+
+ folder-reviewers-scripts-build-integrations-docker:
+ type: optional
+ conditions:
+ - "files.include('scripts/build/*') or files.include('integrations/docker/*')"
+ reviewers:
+ users:
+ - andy31415
+ reviews:
+ # 1 review request will be sent at a time
+ request: 1
+
+ folder-reviewers-google:
+ type: required
+ conditions:
+ - "files.include('examples/chef/*') or files.include('integrations/cloudbuild/*')"
+ requirements:
+ - "len(groups.approved.include('shared-reviewers-google')) >= 1 or \
+ len(groups.approved.include('shared-reviewers-*')) >= 2"
+ reviews:
+ required: 0
+
+ folder-reviewers-apple:
+ type: required
+ conditions:
+ - "files.include('src/darwin/*').exclude('src/darwin/Framework/CHIP/zap-generated/*') or \
+ files.include('src/platform/Darwin/*')"
+ reviewers:
+ teams: [reviewers-apple]
+ reviews:
+ request: 0
+ required: 1
+
+ ############################################################
+ # Base Required Reviewers. If PR touches a path not covered
+ # by any folder specific review requirements.
############################################################
required-reviewers:
description: >
@@ -247,6 +286,14 @@
This is the main group of required reviews for general pull
requests.
type: required
+ conditions:
+ # If PR touches a region not covered by any custom review paths, base condition is required.
+ - "files\
+ .exclude('examples/chef/*')\
+ .exclude('integrations/cloudbuild/*')\
+ .exclude('src/darwin/*')\
+ .exclude('src/platform/Darwin/*') or \
+ files.include('src/darwin/Framework/CHIP/zap-generated/*')"
requirements:
- len(groups.approved.include('shared-reviewers-*')) >= 2
reviews: