diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..505b82ae3e --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,761 @@ +# ================================================================================== +# ================================================================================== +# Angular CODEOWNERS +# ================================================================================== +# ================================================================================== +# +# Configuration of code ownership and review approvals for the angular/angular repo. +# +# More info: https://help.github.com/articles/about-codeowners/ +# + + +# ================================================ +# General rules / philosophy +# ================================================ +# +# - we trust that people do the right thing and not approve changes they don't feel confident reviewing +# - we use github teams so that we funnel code reviews to the most appropriate reviewer, this is why the team structure is fine-grained +# - we enforce that only approved PRs get merged to ensure that unreviewed code doesn't get accidentaly merged +# - we delegate approval rights as much as possible so that we can scale better +# - each group must have at least one person, but several people are preferable to avoid a single point of failure issues +# - most file groups have one or two global approvers groups as fallbacks: +# - @angular/fw-global-approvers: for approving minor changes, large-scale refactorings, and emergency situations. +# - @angular/fw-global-approvers-for-docs-only-changes: for approving minor documentation-only changes that don't require engineering review +# - a small number of file groups have very limited number of reviewers because incorrect changes to the files they guard would have serious consequences (e.g. security, public api) +# +# Configuration nuances: +# +# - This configuration works in conjunction with the protected branch settings that require all changes to be made via pull requests with at least one approval. +# - This approval can come from an appropriate codeowner, or any repo collaborator (person with write access) if the PR is authored by a codeowner. +# - Each codeowners team must have write access to the repo, otherwise their reviewes won't count. +# +# In the case of emergency, the repo administrators which include angular-caretaker can bypass this requirement. + + + +# ================================================ +# GitHub username registry +# (just to make this file easier to understand) +# ================================================ + +# alexeagle - Alex Eagle +# alxhub - Alex Rickabaugh +# AndrewKushnir - Andrew Kushnir +# andrewseguin - Andrew Seguin +# benlesh - Ben Lesh +# brandonroberts - Brandon Roberts +# filipesilva - Filipe Silva +# gkalpak - George Kalpakas +# hansl - Hans Larsen +# IgorMinar - Igor Minar +# jasonaden - Jason Aden +# jenniferfell - Jennifer Fell +# kara - Kara Erickson +# kyliau - Keen Yee Liau +# matsko - Matias Niemelä +# mhevery - Misko Hevery +# ocombe - Olivier Combe +# petebacondarwin - Pete Bacon Darwin +# pkozlowski-opensource - Pawel Kozlowski +# robwormald - Rob Wormald +# stephenfluin - Stephen Fluin +# vikerman - Vikram Subramanian + + + +###################################################################################################### +# +# Team structure and memberships +# ------------------------------ +# +# This section is here just because the GitHub UI is too hard to navigate and audit. +# +# Any changes to team structure or memberships must first be made in this file and only then +# implemented in the GitHub UI. +####################################################################################################### + + +# =========================================================== +# @angular/framework-global-approvers +# =========================================================== +# Used for approving minor changes, large-scale refactorings, and emergency situations. +# (secret team to avoid review requests, it also doesn't inherit from @angular/framework because nested teams can't be secret) +# +# - IgorMinar +# - kara +# - mhevery + + +# =========================================================== +# @angular/framework-global-approvers-for-docs-only-changes +# =========================================================== +# Used for approving minor documentation-only changes that don't require engineering review. +# (secret team to avoid review requests, it also doesn't inherit from @angular/framework because nested teams can't be secret) +# +# - gkalpak +# - jenniferfell +# - petebacondarwin + + +# =========================================================== +# @angular/fw-animations +# =========================================================== +# +# - matsko + + +# =========================================================== +# @angular/tools-bazel +# =========================================================== +# +# - alexeagle +# - kyliau +# - IgorMinar + + +# =========================================================== +# @angular/tools-cli +# =========================================================== +# +# - alexeagle +# - filipesilva +# - hansl + + +# =========================================================== +# @angular/fw-compiler +# =========================================================== +# +# - alxhub + + +# =========================================================== +# @angular/fw-ngcc +# =========================================================== +# +# - alxhub +# - gkalpak +# - petebacondarwin + + +# =========================================================== +# @angular/fw-core +# =========================================================== +# +# - alxhub +# - AndrewKushnir +# - kara +# - mhevery +# - pkozlowski-opensource + + +# =========================================================== +# @angular/fw-http +# =========================================================== +# +# - alxhub +# - IgorMinar + + +# =========================================================== +# @angular/fw-elements +# =========================================================== +# +# - andrewseguin +# - gkalpak +# - robwormald + + +# =========================================================== +# @angular/fw-forms +# =========================================================== +# +# - kara + + +# =========================================================== +# @angular/tools-language-service +# =========================================================== +# +# - kyliau + + +# =========================================================== +# @angular/fw-server +# =========================================================== +# +# - alxhub +# - vikerman + + +# =========================================================== +# @angular/fw-router +# =========================================================== +# +# - jasonaden + + +# =========================================================== +# @angular/fw-service-worker +# =========================================================== +# +# - alxhub +# - gkalpak +# - IgorMinar + + +# =========================================================== +# @angular/fw-upgrade +# =========================================================== +# +# - gkalpak +# - petebacondarwin + + +# =========================================================== +# @angular/fw-testing +# =========================================================== +# +# - vikerman + + +# =========================================================== +# @angular/fw-i18n +# =========================================================== +# +# - AndrewKushnir +# - mhevery +# - ocombe +# - vikerman + + +# =========================================================== +# @angular/fw-security +# =========================================================== +# +# - IgorMinar +# - mhevery + + +# =========================================================== +# @angular/tools-benchpress +# =========================================================== +# +# - alxhub + + +# =========================================================== +# @angular/fw-integration +# =========================================================== +# +# - alexeagle +# - IgorMinar +# - mhevery + + +# =========================================================== +# @angular/docs-infra +# =========================================================== +# +# - gkalpak +# - IgorMinar +# - petebacondarwin + + +# =========================================================== +# @angular/fw-docs-intro +# =========================================================== +# +# - brandonroberts +# - IgorMinar +# - stephenfluin + + +# =========================================================== +# @angular/fw-docs-observables +# =========================================================== +# +# - benlesh +# - jasonaden + + +# =========================================================== +# @angular/fw-docs-packaging +# =========================================================== +# +# - alexeagle +# - IgorMinar + + +# =========================================================== +# @angular/fw-docs-marketing +# =========================================================== +# +# - IgorMinar +# - stephenfluin + + +# =========================================================== +# @angular/fw-public-api +# =========================================================== +# +# - IgorMinar + + +# =========================================================== +# @angular/fw-dev-infra +# =========================================================== +# +# - alexeagle +# - IgorMinar + + + + + +###################################################################################################### +# +# CODEOWNERS rules +# ----------------- +# +# All the following rules are applied in the order specified in this file. +# The last rule that matches wins! +# +# See https://git-scm.com/docs/gitignore#_pattern_format for pattern syntax docs. +# +###################################################################################################### + + +# ================================================ +# Default Owners +# (in case no pattern matches a path in a PR - this should be treated as a bug and result in adding the path to CODEOWNERS) +# ================================================ + +* @IgorMinar @angular/framework-global-approvers + + + +# ================================================ +# @angular/animations +# ================================================ + +/packages/animations/** @angular/fw-animations @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/platform-browser/animations/** @angular/fw-animations @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/animations.md @angular/fw-animations @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/animations/** @angular/fw-animations @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/animations/** @angular/fw-animations @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/bazel +# ================================================ + +/packages/bazel/** @angular/tools-bazel @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/compiler +# @angular/compiler-cli +# ================================================ + +/packages/compiler/** @angular/fw-compiler @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/compiler-cli/** @angular/fw-compiler @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/aot-compiler.md @angular/fw-compiler @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# packages/compiler-cli/src/ngcc/ +# ================================================ + +/packages/compiler-cli/src/ngcc/** @angular/fw-ngcc @angular/framework-global-approvers + + + +# ================================================ +# @angular/compiler-cli/ngtools +# +# a rule to control API changes between @angular/compiler-cli and @angular/cli +# ================================================ + +/packages/compiler-cli/src/ngtools/** @angular/tools-cli @angular/framework-global-approvers + + + +# ================================================ +# @angular/core +# @angular/common (except @angular/common/http) +# @angular/platform-browser +# @angular/platform-browser-dynamic +# @angular/platform-webworker +# @angular/platform-webworker-dynamic +# ================================================ + +/packages/core/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/platform-browser/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/platform-browser-dynamic/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/platform-webworker/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/platform-webworker-dynamic/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/attribute-directives.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/attribute-directives/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/attribute-directives/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/bootstrapping.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/bootstrapping/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/component-interaction.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/component-interaction/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/component-interaction/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/component-styles.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/component-styles/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/dependency-injection.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/dependency-injection/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/dependency-injection/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/dependency-injection-in-action.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/dependency-injection-in-action/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/dependency-injection-in-action/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/dependency-injection-pattern.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/dynamic-component-loader.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/dynamic-component-loader/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/dynamic-component-loader/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/entry-components.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/feature-modules.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/feature-modules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/feature-modules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/frequent-ngmodules.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/frequent-ngmodules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/hierarchical-dependency-injection.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/hierarchical-dependency-injection/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/lazy-loading-ngmodules.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/lazy-loading-ngmodules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/lazy-loading-ngmodules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/lifecycle-hooks.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/lifecycle-hooks/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/lifecycle-hooks/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/examples/ngcontainer/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/ngcontainer/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/ngmodules.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/ngmodules/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/ngmodule/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/ngmodule/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/ngmodule-api.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/ngmodule-faq.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/ngmodule-faq/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/ngmodule-vs-jsmodule.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/module-types.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/template-syntax.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/template-syntax/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/template-syntax/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/pipes.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/pipes/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/pipes/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/providers.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/providers/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/singleton-services.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/set-document-title.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/set-document-title/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/set-document-title/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/sharing-ngmodules.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + +/aio/content/guide/structural-directives.md @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/structural-directives/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/structural-directives/** @angular/fw-core @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/common/http +# @angular/http +# ================================================ + +/packages/common/http/** @angular/fw-http @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/http/** @angular/fw-http @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/http.md @angular/fw-http @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/http/** @angular/fw-http @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/http/** @angular/fw-http @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/elements +# ================================================ + +/packages/elements/** @angular/fw-elements @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/elements/** @angular/fw-elements @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/elements/** @angular/fw-elements @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/elements.md @angular/fw-elements @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + +# ================================================ +# @angular/forms +# ================================================ + +/packages/forms/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/forms.md @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/forms/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/forms/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/forms-overview.md @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/forms-overview/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/forms-overview/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/form-validation.md @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/form-validation/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/form-validation/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/dynamic-form.md @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/dynamic-form/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/dynamic-form/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/reactive-forms.md @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/reactive-forms/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/reactive-forms/** @angular/fw-forms @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/language-service +# ================================================ + +/packages/language-service/** @angular/tools-language-service @angular/framework-global-approvers +/aio/content/guide/language-service.md @angular/tools-language-service @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/language-service/** @angular/tools-language-service @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/platform-server +# ================================================ + +/packages/platform-server/** @angular/fw-server @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/universal.md @angular/fw-server @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/universal/** @angular/fw-server @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/router +# ================================================ + +/packages/router/** @angular/fw-router @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/router.md @angular/fw-router @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/router/** @angular/fw-router @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/router/** @angular/fw-router @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/service-worker +# ================================================ + +/packages/service-worker/** @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/service-worker-getting-started.md @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/service-worker-getting-started/** @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/service-worker-communications.md @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/service-worker-config.md @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/service-worker-devops.md @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/service-worker-intro.md @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/service-worker/** @angular/fw-service-worker @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/upgrade +# ================================================ + +/packages/upgrade/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/examples/upgrade/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/upgrade.md @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/upgrade-module/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/upgrade/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/upgrade-phonecat-1-typescript/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/upgrade-phonecat-2-hybrid/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/upgrade-phonecat-3-final/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/upgrade-performance.md @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/ajs-quick-reference.md @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/ajs-quick-reference/** @angular/fw-upgrade @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular/**/testing +# ================================================ + +testing/** @angular/fw-testing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/testing.md @angular/fw-testing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/testing/** @angular/fw-testing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/testing/** @angular/fw-testing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular i18n +# ================================================ + +/packages/core/src/i18n/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/core/src/render3/i18n.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/core/src/render3/i18n.md @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/core/src/render3/interfaces/i18n.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/locales/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/src/i18n/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/src/pipes/date_pipe.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/src/pipes/i18n_plural_pipe.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/src/pipes/i18n_select_pipe.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/common/src/pipes/number_pipe.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/compiler/src/i18n/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/compiler/src/render3/view/i18n/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/packages/compiler-cli/src/extract_i18n.ts @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/i18n.md @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/i18n/** @angular/fw-i18n @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# @angular security +# ================================================ + +/packages/core/src/sanitization/** @angular/fw-security +/packages/core/test/linker/security_integration_spec.ts @angular/fw-security +/packages/compiler/src/schema/** @angular/fw-security +/packages/platform-browser/src/security/** @angular/fw-security +/aio/content/guide/security.md @angular/fw-security @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/security/** @angular/fw-security @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# benchpress +# ================================================ + +/packages/benchpress/** @angular/tools-benchpress @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# /integration/* +# ================================================ + +/integration/** @angular/fw-integration @angular/framework-global-approvers + + + +# ================================================ +# docs-infra +# ================================================ + +/aio/* @angular/docs-infra @angular/framework-global-approvers +/aio/aio-builds-setup/** @angular/docs-infra @angular/framework-global-approvers +/aio/scripts/** @angular/docs-infra @angular/framework-global-approvers +/aio/src/** @angular/docs-infra @angular/framework-global-approvers +/aio/tests/** @angular/docs-infra @angular/framework-global-approvers +/aio/tools/** @angular/docs-infra @angular/framework-global-approvers + + + +# ================================================ +# Docs: getting started & tutorial +# ================================================ + +/aio/content/guide/quickstart.md @angular/fw-docs-intro @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/tutorial/** @angular/fw-docs-intro @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# Docs: observables +# ================================================ + +/aio/content/examples/observables/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/observables/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/observables.md @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/comparing-observables.md @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/observables-in-angular/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/guide/observables-in-angular/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/observables-in-angular.md @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/practical-observable-usage/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/practical-observable-usage.md @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/rx-library/** @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/rx-library.md @angular/fw-docs-observables @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# Docs: packaging, tooling, releasing +# ================================================ + +/aio/content/guide/npm-packages.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/browser-support.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/typescript-configuration.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/setup-systemjs-anatomy.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/setup.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/examples/setup/** @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/deployment.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/releases.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/guide/updating.md @angular/fw-docs-packaging @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# Docs: marketing +# ================================================ + +/aio/content/marketing/** @angular/fw-docs-marketing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/images/marketing/** @angular/fw-docs-marketing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/navigation.json @angular/fw-docs-marketing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes +/aio/content/license.md @angular/fw-docs-marketing @angular/framework-global-approvers @angular/framework-global-approvers-for-docs-only-changes + + + +# ================================================ +# Public API +# ================================================ + +/tools/public_api_guard/** @angular/fw-public-api + + + +# ================================================ +# Build & CI Owners +# ================================================ + +/* @angular/fw-dev-infra +/.buildkite/** @angular/fw-dev-infra +/.circleci/** @angular/fw-dev-infra +/.github/** @angular/fw-dev-infra +/docs/BAZEL.md @angular/fw-dev-infra +/scripts/** @angular/fw-dev-infra +/third_party/** @angular/fw-dev-infra +/tools/** @angular/fw-dev-infra +*.bzl @angular/fw-dev-infra + + + +# ================================================ +# CODEOWNERS Owners owners ... +# ================================================ + +/.github/CODEOWNERS @IgorMinar @angular/framework-global-approvers diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index e71ae2023d..dfacb91f3b 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -81,7 +81,7 @@ merge: # require that the PR has reviews from all requested reviewers # # This enables us to request reviews from both eng and tech writers, or multiple eng folks, and prevents accidental merges. - # Rather than merging PRs with pending reviews, if all PullApprove requirements are satisfied and additional reviews are not needed pending reviewers should be removed via GitHub UI (this also leaves an audit trail behind these decisions). + # Rather than merging PRs with pending reviews, if all approvals are obtained and additional reviews are not needed, any pending reviewers should be removed via GitHub UI (this also leaves an audit trail behind these decisions). requireReviews: true, # whether the PR shouldn't have a conflict with the base branch @@ -102,7 +102,6 @@ merge: # list of PR statuses that need to be successful requiredStatuses: - "continuous-integration/travis-ci/pr" - - "code-review/pullapprove" - "ci/circleci: build" - "ci/circleci: lint" diff --git a/.pullapprove.yml b/.pullapprove.yml deleted file mode 100644 index 4c6f2362ed..0000000000 --- a/.pullapprove.yml +++ /dev/null @@ -1,541 +0,0 @@ -# Configuration for pullapprove.com -# -# Approval access and primary role is determined by info in the project ownership spreadsheet: -# https://docs.google.com/spreadsheets/d/1-HIlzfbPYGsPr9KuYMe6bLfc4LXzPjpoALqtYRYTZB0/edit?pli=1#gid=0&vpid=A5 -# -# === GitHub username to Full name map === -# -# alexeagle - Alex Eagle -# alxhub - Alex Rickabaugh -# andrewseguin - Andrew Seguin -# benlesh - Ben Lesh -# brandonroberts - Brandon Roberts -# brocco - Mike Brocchi -# filipesilva - Filipe Silva -# gkalpak - George Kalpakas -# hansl - Hans Larsen -# IgorMinar - Igor Minar -# jasonaden - Jason Aden -# jenniferfell - Jennifer Fell -# kara - Kara Erickson -# kyliau - Keen Yee Liau -# matsko - Matias Niemelä -# mhevery - Misko Hevery -# petebacondarwin - Pete Bacon Darwin -# pkozlowski-opensource - Pawel Kozlowski -# robwormald - Rob Wormald -# vikerman - Vikram Subramanian - - -version: 2 - -group_defaults: - required: 1 - reset_on_reopened: - enabled: true - approve_by_comment: - enabled: false - # see http://docs.pullapprove.com/groups/author_approval/ - author_approval: - # If the author is a reviewer on the PR, they will automatically have an "approved" status. - auto: true - -groups: - # Require all PRs to have at least one approval from *someone* - all: - users: all - required: 1 - rejection_value: -999 - # In this group, your self-approval does not count - author_approval: - auto: false - ignored: true - files: - include: - - "*" - - root: - conditions: - files: - include: - - "*" - exclude: - - "WORKSPACE" - - "BUILD.bazel" - - ".circleci/*" - - "aio/*" - - "integration/*" - - "modules/*" - - "packages/*" - - "tools/*" - users: - - alexeagle - - IgorMinar - - mhevery - - public-api: - conditions: - files: - include: - - "tools/public_api_guard/*" - users: - - IgorMinar - - mhevery - - bazel: - conditions: - files: - include: - - "WORKSPACE" - - ".bazel*" - - "*.bazel" - - "*.bzl" - - "packages/bazel/*" - - "/docs/BAZEL.md" - users: - - alexeagle #primary - - kyliau - - IgorMinar #fallback - - mhevery - - vikerman #fallback - - kara - - build-and-ci: - conditions: - files: - include: - - "*.yml" - - "*.json" - - "*.lock" - - "tools/*" - exclude: - - "aio/*" - - "packages/core/test/bundling/*" - - "tools/public_api_guard/*" - users: - - IgorMinar #primary - - alexeagle - - jasonaden - - mhevery #fallback - - integration: - conditions: - files: - - "integration/*" - users: - - alexeagle - - mhevery - - IgorMinar #fallback - - core: - conditions: - files: - - "packages/core/*" - - "aio/content/guide/bootstrapping.md" - - "aio/content/examples/bootstrapping/*" - - "aio/content/guide/attribute-directives.md" - - "aio/content/examples/attribute-directives/*" - - "aio/content/images/guide/attribute-directives/*" - - "aio/content/guide/structural-directives.md" - - "aio/content/examples/structural-directives/*" - - "aio/content/images/guide/structural-directives/*" - - "aio/content/guide/dynamic-component-loader.md" - - "aio/content/examples/dynamic-component-loader/*" - - "aio/content/images/guide/dynamic-component-loader/*" - - "aio/content/guide/template-syntax.md" - - "aio/content/examples/template-syntax/*" - - "aio/content/images/guide/template-syntax/*" - - "aio/content/guide/dependency-injection.md" - - "aio/content/examples/dependency-injection/*" - - "aio/content/images/guide/dependency-injection/*" - - "aio/content/guide/dependency-injection-in-action.md" - - "aio/content/examples/dependency-injection-in-action/*" - - "aio/content/images/guide/dependency-injection-in-action/*" - - "aio/content/guide/hierarchical-dependency-injection.md" - - "aio/content/examples/hierarchical-dependency-injection/*" - - "aio/content/guide/singleton-services.md" - - "aio/content/guide/dependency-injection-pattern.md" - - "aio/content/guide/providers.md" - - "aio/content/examples/providers/*" - - "aio/content/guide/component-interaction.md" - - "aio/content/examples/component-interaction/*" - - "aio/content/images/guide/component-interaction/*" - - "aio/content/guide/component-styles.md" - - "aio/content/examples/component-styles/*" - - "aio/content/guide/lifecycle-hooks.md" - - "aio/content/examples/lifecycle-hooks/*" - - "aio/content/images/guide/lifecycle-hooks/*" - - "aio/content/examples/ngcontainer/*" - - "aio/content/images/guide/ngcontainer/*" - - "aio/content/guide/pipes.md" - - "aio/content/examples/pipes/*" - - "aio/content/images/guide/pipes/*" - - "aio/content/guide/entry-components.md" - - "aio/content/guide/set-document-title.md" - - "aio/content/examples/set-document-title/*" - - "aio/content/images/guide/set-document-title/*" - - "aio/content/guide/ngmodules.md" - - "aio/content/examples/ngmodules/*" - - "aio/content/examples/ngmodule/*" - - "aio/content/images/guide/ngmodule/*" - - "aio/content/guide/ngmodule-faq.md" - - "aio/content/examples/ngmodule-faq/*" - - "aio/content/guide/module-types.md" - - "aio/content/guide/sharing-ngmodules.md" - - "aio/content/guide/frequent-ngmodules.md" - - "aio/content/images/guide/frequent-ngmodules/*" - - "aio/content/guide/ngmodule-api.md" - - "aio/content/guide/ngmodule-vs-jsmodule.md" - - "aio/content/guide/feature-modules.md" - - "aio/content/examples/feature-modules/*" - - "aio/content/images/guide/feature-modules/*" - - "aio/content/guide/lazy-loading-ngmodules.md" - - "aio/content/examples/lazy-loading-ngmodules/*" - - "aio/content/images/guide/lazy-loading-ngmodules" - users: - - mhevery #primary - - jasonaden - - kara - - IgorMinar - - jenniferfell #docs only - - animations: - conditions: - files: - - "packages/animations/*" - - "packages/platform-browser/animations/*" - - "aio/content/guide/animations.md" - - "aio/content/examples/animations/*" - - "aio/content/images/guide/animations/*" - users: - - matsko #primary - - mhevery #fallback - - IgorMinar #fallback - - jenniferfell #docs only - - kara - - compiler/i18n: - conditions: - files: - - "packages/compiler/src/i18n/*" - - "aio/content/guide/i18n.md" - - "aio/content/examples/i18n/*" - users: - - alxhub #primary - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - kara - - compiler: - conditions: - files: - - "packages/compiler/*" - - "aio/content/guide/aot-compiler.md" - users: - - alxhub #primary - - mhevery - - IgorMinar #fallback - - jenniferfell #docs only - - kara - - compiler-cli/ngtools: - conditions: - files: - - "packages/compiler-cli/src/ngtools*" - users: - - hansl - - filipesilva #fallback - - IgorMinar #fallback - - kara - - compiler-cli: - conditions: - files: - include: - - "packages/compiler-cli/*" - exclude: - - "packages/compiler-cli/src/ngtools*" - users: - - alexeagle - - alxhub - - IgorMinar #fallback - - mhevery #fallback - - kara - - common: - conditions: - files: - include: - - "packages/common/*" - exclude: - - "packages/common/http/*" - users: - - pkozlowski-opensource #primary - - IgorMinar #fallback - - mhevery #fallback - - kara - - forms: - conditions: - files: - - "packages/forms/*" - - "aio/content/guide/forms.md" - - "aio/content/examples/forms/*" - - "aio/content/images/guide/forms/*" - - "aio/content/guide/forms-overview.md" - - "aio/content/examples/forms-overview/*" - - "aio/content/images/guide/forms-overview/*" - - "aio/content/guide/form-validation.md" - - "aio/content/examples/form-validation/*" - - "aio/content/images/guide/form-validation/*" - - "aio/content/guide/dynamic-form.md" - - "aio/content/examples/dynamic-form/*" - - "aio/content/images/guide/dynamic-form/*" - - "aio/content/guide/reactive-forms.md" - - "aio/content/examples/reactive-forms/*" - - "aio/content/images/guide/reactive-forms/*" - users: - - kara #primary - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - http: - conditions: - files: - - "packages/common/http/*" - - "packages/http/*" - - "aio/content/guide/http.md" - - "aio/content/examples/http/*" - - "aio/content/images/guide/http/*" - users: - - alxhub #primary - - IgorMinar - - mhevery #fallback - - jenniferfell #docs only - - language-service: - conditions: - files: - - "packages/language-service/*" - - "aio/content/guide/language-service.md" - - "aio/content/images/guide/language-service/*" - users: - - kyliau #primary - # needs secondary - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - router: - conditions: - files: - - "packages/router/*" - - "aio/content/guide/router.md" - - "aio/content/examples/router/*" - - "aio/content/images/guide/router/*" - users: - - jasonaden #primary - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - kara - - testing: - conditions: - files: - - "*/testing/*" - - "aio/content/guide/testing.md" - - "aio/content/examples/testing/*" - - "aio/content/images/guide/testing/*" - users: - - vikerman - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - upgrade: - conditions: - files: - - "packages/upgrade/*" - - "aio/content/guide/upgrade.md" - - "aio/content/examples/upgrade-module/*" - - "aio/content/images/guide/upgrade/*" - - "aio/content/examples/upgrade-phonecat-1-typescript/*" - - "aio/content/examples/upgrade-phonecat-2-hybrid/*" - - "aio/content/examples/upgrade-phonecat-3-final/*" - - "aio/content/guide/upgrade-performance.md" - - "aio/content/guide/ajs-quick-reference.md" - - "aio/content/examples/ajs-quick-reference/*" - users: - - petebacondarwin #primary - - gkalpak - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - kara - - platform-browser: - conditions: - files: - - "packages/platform-browser/*" - users: - - mhevery #primary - # needs secondary - - IgorMinar #fallback - - kara - - platform-server: - conditions: - files: - - "packages/platform-server/*" - - "aio/content/guide/universal.md" - - "aio/content/examples/universal/*" - users: - - vikerman #primary - - alxhub #secondary - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - platform-webworker: - conditions: - files: - - "packages/platform-webworker/*" - users: - - mhevery #primary - # needs secondary - - IgorMinar #fallback - - kara - - service-worker: - conditions: - files: - - "packages/service-worker/*" - - "aio/content/guide/service-worker-getting-started.md" - - "aio/content/examples/service-worker-getting-started/*" - - "aio/content/guide/service-worker-communications.md" - - "aio/content/guide/service-worker-config.md" - - "aio/content/guide/service-worker-devops.md" - - "aio/content/guide/service-worker-intro.md" - - "aio/content/images/guide/service-worker/*" - users: - - gkalpak #primary - - alxhub - - IgorMinar - - mhevery #fallback - - jenniferfell #docs only - - elements: - conditions: - files: - - "packages/elements/*" - - "aio/content/examples/elements/*" - - "aio/content/images/guide/elements/*" - - "aio/content/guide/elements.md" - users: - - andrewseguin #primary - - gkalpak - - robwormald - - IgorMinar #fallback - - mhevery #fallback - - jenniferfell #docs only - - kara - - benchpress: - conditions: - files: - - "packages/benchpress/*" - users: - - alxhub # primary - # needs secondary - - IgorMinar #fallback - - mhevery #fallback - - docs-infra: - conditions: - files: - include: - - "aio/*" - exclude: - - "aio/content/*" - users: - - petebacondarwin #primary - - IgorMinar - - gkalpak - - mhevery #fallback - - docs/guide-and-tutorial: - conditions: - files: - include: - - "aio/content/*" - exclude: - - "aio/content/marketing/*" - - "aio/content/navigation.json" - - "aio/content/license.md" - users: - - stephenfluin - - jenniferfell - - brandonroberts - - petebacondarwin - - gkalpak - - IgorMinar - - mhevery #fallback - - docs/marketing: - conditions: - files: - include: - - "aio/content/marketing/*" - - "aio/content/images/marketing/*" - - "aio/content/navigation.json" - - "aio/content/license.md" - users: - - stephenfluin - - petebacondarwin - - gkalpak - - IgorMinar - - robwormald - - mhevery #fallback - - docs/observables: - conditions: - files: - - "aio/content/examples/observables/*" - - "aio/content/images/guide/observables/*" - - "aio/content/guide/observables.md" - - "aio/content/guide/comparing-observables.md" - - "aio/content/examples/observables-in-angular/*" - - "aio/content/images/guide/observables-in-angular/*" - - "aio/content/guide/observables-in-angular.md" - - "aio/content/examples/practical-observable-usage/*" - - "aio/content/guide/practical-observable-usage.md" - - "aio/content/examples/rx-library/*" - - "aio/content/guide/rx-library.md" - users: - - jasonaden - - benlesh - - IgorMinar - - mhevery - - jenniferfell #docs only - - docs/packaging: - conditions: - files: - - "aio/content/guide/npm-packages.md" - - "aio/content/guide/browser-support.md" - - "aio/content/guide/typescript-configuration.md" - - "aio/content/guide/setup-systemjs-anatomy.md" - - "aio/content/examples/setup/*" - - "aio/content/guide/setup.md" - - "aio/content/guide/deployment.md" - - "aio/content/guide/releases.md" - - "aio/content/guide/updating.md" - users: - - IgorMinar #primary - - alexeagle - - hansl - - mhevery #fallback - - jenniferfell #docs only diff --git a/docs/COMMITTER.md b/docs/COMMITTER.md index 6592bc6b3e..be4aa8d616 100644 --- a/docs/COMMITTER.md +++ b/docs/COMMITTER.md @@ -8,7 +8,7 @@ Someone with committer access will do the rest. # Change approvals -Change approvals in our monorepo are managed via [pullapprove.com](https://about.pullapprove.com/) and are configured via the `.pullapprove.yaml` file. +Change approvals in our monorepo are managed via [GitHub CODEOWNERS](https://help.github.com/articles/about-codeowners/) and are configured via the `.github/CODEOWNERS` file. # Merging diff --git a/docs/TRIAGE_AND_LABELS.md b/docs/TRIAGE_AND_LABELS.md index 248ba91084..54c18bf559 100644 --- a/docs/TRIAGE_AND_LABELS.md +++ b/docs/TRIAGE_AND_LABELS.md @@ -145,7 +145,7 @@ If a PR is missing the "PR target: *" label, or if the label is set to "TBD" whe Before a PR can be merged it must be approved by the appropriate reviewer(s). -To ensure that there right people review each change, we configured [PullApprove bot](https://about.pullapprove.com/) via (`.pullapprove.yaml`) to provide aggregate approval state via the GitHub PR Status API. +To ensure that the right people review each change, we configured [GitHub CODEOWNERS](https://help.github.com/articles/about-codeowners/) (via `.github/CODEOWNERS`) and require that each PR has at least one approval from the appropriate code owner. Note that approved state does not mean a PR is ready to be merged. For example, a reviewer might approve the PR but request a minor tweak that doesn't need further review, e.g., a rebase or small uncontroversial change.