diff --git a/.pullapprove.yml b/.pullapprove.yml index 8c5e6a8d66..dd56593e64 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -34,41 +34,8 @@ #################################################################################### # GitHub usernames #################################################################################### -# aikidave - Dave Shevitz -# alan-agius4 - Alan Agius -# alxhub - Alex Rickabaugh -# AndrewKushnir - Andrew Kushnir -# andrewseguin - Andrew Seguin -# atscott - Andrew Scott -# ayazhafiz - Ayaz Hafiz -# clydin - Charles Lyding -# crisbeto - Kristiyan Kostadinov -# dennispbrown - Denny Brown -# devversion - Paul Gschwendtner -# dgp1130 - Doug Parker -# filipesilva - Filipe Silva -# gkalpak - Georgios Kalpakas -# gregmagolan - Greg Magolan -# IgorMinar - Igor Minar -# jbogarthyde - Judy Bogart -# jelbourn - Jeremy Elbourn -# JiaLiPassion - Jia Li -# JoostK - Joost Koehoorn -# josephperrott - Joey Perrott -# juleskremer - Jules Kremer -# kapunahelewong - Kapunahele Wong -# kara - Kara Erickson -# kyliau - Keen Yee Liau -# manughub - Manu Murthy -# matsko - Matias Niemela -# mgechev - Minko Gechev -# mhevery - Miško Hevery -# michaelprentice - Michael Prentice -# mmalerba - Miles Malerba -# petebacondarwin - Pete Bacon Darwin -# pkozlowski-opensource - Pawel Kozlowski -# robwormald - Rob Wormald -# StephenFluin - Stephen Fluin +# See reviewer list under `required-minimum-review` group. Team member names and +# usernames are managed there. #################################################################################### @@ -100,8 +67,16 @@ version: 3 # Meta field that goes unused by PullApprove to allow for defining aliases to be # used throughout the config. meta: - 1: &can-be-global-approved "\"global-approvers\" not in groups.approved" - 2: &can-be-global-docs-approved "\"global-docs-approvers\" not in groups.approved" + can-be-global-approved: &can-be-global-approved "\"global-approvers\" not in groups.approved" + can-be-global-docs-approved: &can-be-global-docs-approved "\"global-docs-approvers\" not in groups.approved" + defaults: &defaults + reviews: + # Authors provide their approval implicitly, this approval allows for a reviewer + # from a group not to need a review specifically for an area of the repository + # they own. This is coupled with the `required-minimum-review` group which requires + # that all PRs are reviewed by at least one team member who is not the author of + # the PR. + author_value: 1 # turn on 'draft' support # https://docs.pullapprove.com/config/github-api-version/ @@ -121,6 +96,55 @@ pullapprove_conditions: groups: + # ========================================================= + # Require review on all PRs + # + # All PRs require at least one review. This rule will not + # request any reviewers, however will require that at least + # one review is provided before the group is satisfied. + # ========================================================= + required-minimum-review: + reviews: + request: 0 # Do not request any reviews from the reviewer group + required: 1 # Require that all PRs have approval from at least one of the users in the group + author_value: 0 # The author of the PR cannot provide an approval for themself + reviewers: + users: + - aikidave # Dave Shevitz + - alan-agius4 # Alan Agius + - alxhub # Alex Rickabaugh + - AndrewKushnir # Andrew Kushnir + - andrewseguin # Andrew Seguin + - atscott # Andrew Scott + - ayazhafiz # Ayaz Hafiz + - clydin # Charles Lyding + - crisbeto # Kristiyan Kostadinov + - dennispbrown # Denny Brown + - devversion # Paul Gschwendtner + - dgp1130 # Doug Parker + - filipesilva # Filipe Silva + - gkalpak # Georgios Kalpakas + - gregmagolan # Greg Magolan + - IgorMinar # Igor Minar + - jbogarthyde # Judy Bogart + - jelbourn # Jeremy Elbourn + - JiaLiPassion # Jia Li + - JoostK # Joost Koehoorn + - josephperrott # Joey Perrott + - juleskremer # Jules Kremer + - kapunahelewong # Kapunahele Wong + - kara # Kara Erickson + - kyliau # Keen Yee Liau + - manughub # Manu Murthy + - matsko # Matias Niemela + - mgechev # Minko Gechev + - mhevery # Miško Hevery + - michaelprentice # Michael Prentice + - mmalerba # Miles Malerba + - petebacondarwin # Pete Bacon Darwin + - pkozlowski-opensource # Pawel Kozlowski + - StephenFluin # Stephen Fluin + # ========================================================= # Global Approvers # @@ -161,6 +185,7 @@ groups: # Framework: Animations # ========================================================= fw-animations: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -185,6 +210,7 @@ groups: # Framework: Compiler # ========================================================= fw-compiler: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -209,6 +235,7 @@ groups: # Framework: Compiler / ngcc # ========================================================= fw-ngcc: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -225,6 +252,7 @@ groups: # Framework: Migrations # ========================================================= fw-migrations: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -240,6 +268,7 @@ groups: # Framework: Core # ========================================================= fw-core: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -359,6 +388,7 @@ groups: # Framework: Http # ========================================================= fw-http: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -380,6 +410,7 @@ groups: # Framework: Elements # ========================================================= fw-elements: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -400,6 +431,7 @@ groups: # Framework: Forms # ========================================================= fw-forms: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -432,6 +464,7 @@ groups: # Framework: i18n # ========================================================= fw-i18n: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -465,6 +498,7 @@ groups: # Framework: Platform Server # ========================================================= fw-platform-server: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -484,6 +518,7 @@ groups: # Framework: Router # ========================================================= fw-router: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -506,6 +541,7 @@ groups: # Framework: Service Worker # ========================================================= fw-service-worker: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -533,6 +569,7 @@ groups: # Framework: Upgrade # ========================================================= fw-upgrade: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -563,6 +600,7 @@ groups: # Framework: Testing # ========================================================= fw-testing: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -584,6 +622,7 @@ groups: # Framework: Benchmarks # ========================================================= fw-benchmarks: + <<: *defaults conditions: - *can-be-global-approved - > @@ -600,6 +639,7 @@ groups: # Framework: Playground # ========================================================= fw-playground: + <<: *defaults conditions: - *can-be-global-approved - > @@ -617,6 +657,7 @@ groups: # Framework: Security # ========================================================= fw-security: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -646,6 +687,7 @@ groups: # Bazel # ========================================================= bazel: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -664,6 +706,7 @@ groups: # Language Service # ========================================================= language-service: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -683,6 +726,7 @@ groups: # zone.js # ========================================================= zone-js: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -716,6 +760,7 @@ groups: # Benchpress # ========================================================= benchpress: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -733,6 +778,7 @@ groups: # Integration Tests # ========================================================= integration-tests: + <<: *defaults conditions: - *can-be-global-approved - > @@ -750,6 +796,7 @@ groups: # Docs: Gettings Started & Tutorial # ========================================================= docs-getting-started-and-tutorial: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -782,6 +829,7 @@ groups: # Docs: Marketing # ========================================================= docs-marketing: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -804,6 +852,7 @@ groups: # Docs: Observables # ========================================================= docs-observables: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -829,6 +878,7 @@ groups: # Docs: Packaging, Tooling, Releasing # ========================================================= docs-packaging-and-releasing: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -888,6 +938,7 @@ groups: # Docs: CLI # ========================================================= docs-cli: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -918,6 +969,7 @@ groups: # Docs: CLI Libraries # ========================================================= docs-libraries: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -938,6 +990,7 @@ groups: # Docs: Schematics # ========================================================= docs-schematics: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -960,6 +1013,7 @@ groups: # Docs-infra # ========================================================= docs-infra: + <<: *defaults conditions: - *can-be-global-approved - *can-be-global-docs-approved @@ -989,6 +1043,7 @@ groups: # Dev-infra # ========================================================= dev-infra: + <<: *defaults conditions: - *can-be-global-approved - > @@ -1053,6 +1108,7 @@ groups: # Public API # ========================================================= public-api: + <<: *defaults conditions: - *can-be-global-approved - > @@ -1081,6 +1137,7 @@ groups: # Size tracking # ================================================ size-tracking: + <<: *defaults conditions: - *can-be-global-approved - > @@ -1103,6 +1160,7 @@ groups: # Circular dependencies # ================================================ circular-dependencies: + <<: *defaults conditions: - *can-be-global-approved - > @@ -1125,6 +1183,7 @@ groups: # Code Ownership # ========================================================= code-ownership: + <<: *defaults conditions: - *can-be-global-approved - > @@ -1140,6 +1199,7 @@ groups: # Catch all for if no groups match the code change # ==================================================== fallback: + <<: *defaults # A group is considered to be `active` for a PR if at least one of group's # conditions matches the PR. #