diff --git a/ENG_REVIEW_OWNERS b/ENG_REVIEW_OWNERS index 7d0d082b8f094b..059826759adbb4 100644 --- a/ENG_REVIEW_OWNERS +++ b/ENG_REVIEW_OWNERS @@ -1,6 +1,7 @@ # Current list of eng reviewers mostly for the purpose of reviewing # addings of top-level and third-party directories. +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners creis@chromium.org darin@chromium.org haraken@chromium.org @@ -9,3 +10,4 @@ jochen@chromium.org pinkerton@chromium.org sky@chromium.org yfriedman@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners diff --git a/OWNERS b/OWNERS index de141da3ca9c83..ea61d9c7ee2722 100644 --- a/OWNERS +++ b/OWNERS @@ -1,8 +1,17 @@ # OWNERS_STATUS = build/OWNERS.status # Eng reviewer. Please reach out before adding new top-level directories. +# Note: this list is not for rubber-stamping mechanical changes that span the +# code base. Please reach out to owners of top-level directories instead. file://ENG_REVIEW_OWNERS +# For global approvals. When an API changes in one of these directories the +# owner's +1 will therefore remove the need to get +1 for each other directory +# that was affected as a result. +file://base/OWNERS +file://content/OWNERS +file://third_party/blink/public/OWNERS + per-file .clang-format=thakis@chromium.org per-file .clang-tidy=file://styleguide/c++/OWNERS per-file .eslintrc.js=file://tools/web_dev_style/OWNERS diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 27f4cdc2a96366..d68be9d14b3a1b 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -3153,12 +3153,14 @@ def CheckSetNoParent(input_api, output_api): found_owners_files.add(glob) # Check that every set noparent line has a corresponding file:// line - # listed in build/OWNERS.setnoparent. - for set_noparent_line in found_set_noparent_lines: - if set_noparent_line in found_owners_files: - continue - errors.append(' %s:%d' % (f.LocalPath(), - found_set_noparent_lines[set_noparent_line])) + # listed in build/OWNERS.setnoparent. An exception is made for top level + # directories since src/OWNERS shouldn't review them. + if f.LocalPath().count('/') != 1: + for set_noparent_line in found_set_noparent_lines: + if set_noparent_line in found_owners_files: + continue + errors.append(' %s:%d' % (f.LocalPath(), + found_set_noparent_lines[set_noparent_line])) results = [] if errors: diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py index 8c86ec39a90fca..14921eadd270ba 100755 --- a/PRESUBMIT_test.py +++ b/PRESUBMIT_test.py @@ -3563,10 +3563,23 @@ def testErrorMissingHeader(self): class SetNoParentTest(unittest.TestCase): - def testSetNoParentMissing(self): + def testSetNoParentTopLevelAllowed(self): mock_input_api = MockInputApi() mock_input_api.files = [ MockAffectedFile('goat/OWNERS', + [ + 'set noparent', + 'jochen@chromium.org', + ]) + ] + mock_output_api = MockOutputApi() + errors = PRESUBMIT.CheckSetNoParent(mock_input_api, mock_output_api) + self.assertEqual([], errors) + + def testSetNoParentMissing(self): + mock_input_api = MockInputApi() + mock_input_api.files = [ + MockAffectedFile('services/goat/OWNERS', [ 'set noparent', 'jochen@chromium.org', @@ -3580,11 +3593,10 @@ def testSetNoParentMissing(self): self.assertTrue('goat/OWNERS:1' in errors[0].long_text) self.assertTrue('goat/OWNERS:3' in errors[0].long_text) - def testSetNoParentWithCorrectRule(self): mock_input_api = MockInputApi() mock_input_api.files = [ - MockAffectedFile('goat/OWNERS', + MockAffectedFile('services/goat/OWNERS', [ 'set noparent', 'file://ipc/SECURITY_OWNERS', diff --git a/android_webview/OWNERS b/android_webview/OWNERS index 5a3e8747fbdb55..324db1277ac8b9 100644 --- a/android_webview/OWNERS +++ b/android_webview/OWNERS @@ -1,3 +1,4 @@ +set noparent boliu@chromium.org michaelbai@chromium.org ntfschr@chromium.org diff --git a/apps/OWNERS b/apps/OWNERS index e4c3d304929b62..e0774234c0d201 100644 --- a/apps/OWNERS +++ b/apps/OWNERS @@ -1,3 +1,4 @@ +set noparent # Apps team members benwells@chromium.org tapted@chromium.org diff --git a/ash/OWNERS b/ash/OWNERS index 912d8fe59de103..8ee27f9a4f1eb7 100644 --- a/ash/OWNERS +++ b/ash/OWNERS @@ -1,3 +1,4 @@ +set noparent afakhry@chromium.org jamescook@chromium.org oshima@chromium.org diff --git a/base/OWNERS b/base/OWNERS index 9f34eacef87633..ba026be8e52918 100644 --- a/base/OWNERS +++ b/base/OWNERS @@ -1,5 +1,7 @@ # See //base/README.md to find qualification for being an owner. +set noparent +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners ajwong@chromium.org danakj@chromium.org dcheng@chromium.org @@ -11,6 +13,7 @@ mark@chromium.org thakis@chromium.org thestig@chromium.org wez@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners # per-file rules: # These are for the common case of adding or renaming files. If you're doing diff --git a/build/OWNERS b/build/OWNERS index 86c72410c0856c..bd1cff5379439d 100644 --- a/build/OWNERS +++ b/build/OWNERS @@ -1,3 +1,5 @@ +set noparent +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners agrieve@chromium.org brucedawson@chromium.org dpranke@google.com @@ -5,6 +7,7 @@ jochen@chromium.org thakis@chromium.org thomasanderson@chromium.org tikuta@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners # Clang build config changes: hans@chromium.org diff --git a/build_overrides/OWNERS b/build_overrides/OWNERS index ce1d3530d8f1ae..513da091695bec 100644 --- a/build_overrides/OWNERS +++ b/build_overrides/OWNERS @@ -1,3 +1,4 @@ +set noparent file://build/OWNERS machenbach@chromium.org mbonadei@chromium.org diff --git a/buildtools/OWNERS b/buildtools/OWNERS index 9c56ba9f34aa5a..d6d3a06e5c79b1 100644 --- a/buildtools/OWNERS +++ b/buildtools/OWNERS @@ -1,3 +1,4 @@ +set noparent dpranke@google.com thakis@chromium.org thomasanderson@chromium.org diff --git a/cc/OWNERS b/cc/OWNERS index 3b3a9427a3de44..6b427ed86d73ea 100644 --- a/cc/OWNERS +++ b/cc/OWNERS @@ -5,6 +5,7 @@ # Folks listed as unofficial can't do OWNERS approvals but are good people to # ask for informal reviews. +set noparent # layers danakj@chromium.org pdr@chromium.org diff --git a/chrome/OWNERS b/chrome/OWNERS index 8a3d453da48ffd..6e845bd971cad9 100644 --- a/chrome/OWNERS +++ b/chrome/OWNERS @@ -1,6 +1,8 @@ # This OWNERS list is a last resort. Please prefer to use more specific OWNERS # where possible. +set noparent + # Reviewers (in CET): blundell@chromium.org droger@chromium.org diff --git a/chromecast/OWNERS b/chromecast/OWNERS index a03fa43c575a4c..a113377460fc92 100644 --- a/chromecast/OWNERS +++ b/chromecast/OWNERS @@ -1,3 +1,4 @@ +set noparent halliwell@chromium.org seantopping@chromium.org servolk@chromium.org diff --git a/chromeos/OWNERS b/chromeos/OWNERS index 86fb6491701353..6d416a8aef0461 100644 --- a/chromeos/OWNERS +++ b/chromeos/OWNERS @@ -3,6 +3,8 @@ # https://chromium.googlesource.com/chromiumos/chromite/+/master/scripts/chrome_chromeos_lkgm.py#38 # see also https://crbug.com/917623 and https://crbug.com/919552. +set noparent + per-file BUILD.gn=* per-file CHROMEOS_LKGM=* # Translation artifacts: diff --git a/cloud_print/OWNERS b/cloud_print/OWNERS index c49f7e1e6ecc21..2fa8aaba7a8123 100644 --- a/cloud_print/OWNERS +++ b/cloud_print/OWNERS @@ -1,3 +1,5 @@ +set noparent + # Cloud Print is temporarily owned by the Chrome Print team. file://printing/OWNERS diff --git a/components/OWNERS b/components/OWNERS index 157e9593886e28..ad87412ce93221 100644 --- a/components/OWNERS +++ b/components/OWNERS @@ -1,3 +1,4 @@ +set noparent blundell@chromium.org caitkp@chromium.org jochen@chromium.org diff --git a/content/OWNERS b/content/OWNERS index 0a780ba40af614..a166fb6ae18584 100644 --- a/content/OWNERS +++ b/content/OWNERS @@ -12,6 +12,8 @@ # For public questions directed to OWNERS, you can send email # to content-owners@chromium.org. +set noparent +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners alexmos@chromium.org arthursonzogni@chromium.org avi@chromium.org @@ -24,6 +26,7 @@ jochen@chromium.org kinuko@chromium.org nasko@chromium.org pfeldman@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners # per-file rules: # These are for the common case of adding or renaming files. If you're doing diff --git a/courgette/OWNERS b/courgette/OWNERS index a6df067904e528..f505be2450bca9 100644 --- a/courgette/OWNERS +++ b/courgette/OWNERS @@ -1,3 +1,4 @@ +set noparent huangs@chromium.org sra@chromium.org tommi@chromium.org diff --git a/crypto/OWNERS b/crypto/OWNERS index 42d0d3b58b3b65..e3db9edc74ee22 100644 --- a/crypto/OWNERS +++ b/crypto/OWNERS @@ -1,3 +1,4 @@ +set noparent agl@chromium.org davidben@chromium.org rsleevi@chromium.org diff --git a/dbus/OWNERS b/dbus/OWNERS index 20043dd7edfd13..28dde184f0be65 100644 --- a/dbus/OWNERS +++ b/dbus/OWNERS @@ -1,3 +1,4 @@ +set noparent hashimoto@chromium.org satorux@chromium.org stevenjb@chromium.org \ No newline at end of file diff --git a/device/OWNERS b/device/OWNERS index bca291f3b604e3..45d87be3a875f2 100644 --- a/device/OWNERS +++ b/device/OWNERS @@ -1,3 +1,4 @@ +set noparent reillyg@chromium.org rockot@google.com diff --git a/docs/code_reviews.md b/docs/code_reviews.md index 3f18122b649c85..de612276055a00 100644 --- a/docs/code_reviews.md +++ b/docs/code_reviews.md @@ -15,7 +15,7 @@ touching. Any committer can review code, but an owner must provide a review for each directory you are touching. If you have doubts, look at the git blame for the file and the `OWNERS` files (see below). -To indicate a positive review, the reviewer provides a "Code-Review +1" in +To indicate a positive review, the reviewer provides a `Code-Review +1` in Gerrit, also known as an LGTM ("Looks Good To Me"). A score of "-1" indicates the change should not be submitted as-is. @@ -168,15 +168,23 @@ per-file *_messages*.h=file://ipc/SECURITY_OWNERS ### Owners-Override -Setting the `Owners-Override` label will bypass OWNERS enforcement. Active -sheriffs and Large Scale Changes (see below) reviewers have this power. +Setting the `Owners-Override +1` label will bypass OWNERS enforcement. Active +sheriffs, Large Scale Changes and Global Approvers (see below) reviewers have +this capability. ## Mechanical changes +### Large Scale Changes You can use the [Large Scale Changes](process/lsc/large_scale_changes.md) process to get approval to bypass OWNERS enforcement for large changes like refactoring, architectural changes, or other repetitive code changes across the -whole codebase. +whole codebase. This is used for work that span many dozen CLs. + +### Global Approvals +For one-off CLs API owners of base, blink, build, content and url can +Owners-Override +1 a change to their APIs to avoid waiting for rubberstamp +1s +from affected directories' owners. This should only be used for mechanical +updates to the affected directories. ## Documentation updates diff --git a/extensions/OWNERS b/extensions/OWNERS index fccdc63e6e7eec..d33cc5b7721904 100644 --- a/extensions/OWNERS +++ b/extensions/OWNERS @@ -9,6 +9,7 @@ # chrome/renderer/extensions/OWNERS # chrome/renderer/resources/extensions/OWNERS +set noparent rdevlin.cronin@chromium.org lazyboy@chromium.org karandeepb@chromium.org diff --git a/fuchsia/OWNERS b/fuchsia/OWNERS index 49edd5c16e9201..c17807e70b3fec 100644 --- a/fuchsia/OWNERS +++ b/fuchsia/OWNERS @@ -1,3 +1,4 @@ +set noparent file://build/fuchsia/OWNERS per-file SECURITY_OWNERS=set noparent diff --git a/gin/OWNERS b/gin/OWNERS index 3ac44eb8e9f7a2..79b041ed3790e8 100644 --- a/gin/OWNERS +++ b/gin/OWNERS @@ -1,3 +1,4 @@ +set noparent jochen@chromium.org jbroman@chromium.org rmcilroy@chromium.org diff --git a/google_apis/OWNERS b/google_apis/OWNERS index 658f2c90848896..9187c19b9c672d 100644 --- a/google_apis/OWNERS +++ b/google_apis/OWNERS @@ -1,3 +1,4 @@ +set noparent file://components/signin/OWNERS per-file BUILD.gn=* \ No newline at end of file diff --git a/google_update/OWNERS b/google_update/OWNERS index 68b1eeff27e3eb..b9f7b8892da623 100644 --- a/google_update/OWNERS +++ b/google_update/OWNERS @@ -1,2 +1,3 @@ +set noparent grt@chromium.org robertshield@chromium.org diff --git a/gpu/OWNERS b/gpu/OWNERS index 6aeb7ecd7ea7e9..b3881c67e6fbfe 100644 --- a/gpu/OWNERS +++ b/gpu/OWNERS @@ -1,3 +1,4 @@ +set noparent backer@chromium.org kbr@chromium.org vasilyt@chromium.org diff --git a/headless/OWNERS b/headless/OWNERS index 8be23ac1f2d6b1..e954f53b5773ae 100644 --- a/headless/OWNERS +++ b/headless/OWNERS @@ -1,3 +1,4 @@ +set noparent skyostil@chromium.org eseckler@chromium.org diff --git a/infra/OWNERS b/infra/OWNERS index ff71952806a4f4..4093cd9bc4cc8f 100644 --- a/infra/OWNERS +++ b/infra/OWNERS @@ -1,6 +1,8 @@ # This is reserved for people that are comfortable with Chromium builders # and understand the implications of changing their configurations. +set noparent + # Troopers bpastene@chromium.org estaab@chromium.org diff --git a/ios/OWNERS b/ios/OWNERS index a5172c6ed2c263..4051e355f9c3d6 100644 --- a/ios/OWNERS +++ b/ios/OWNERS @@ -1,3 +1,4 @@ +set noparent marq@chromium.org noyau@chromium.org rohitrao@chromium.org diff --git a/ipc/OWNERS b/ipc/OWNERS index 16db1f8984cebd..dda237b917e22f 100644 --- a/ipc/OWNERS +++ b/ipc/OWNERS @@ -1,3 +1,4 @@ +set noparent jam@chromium.org rockot@google.com tsepez@chromium.org diff --git a/jingle/OWNERS b/jingle/OWNERS index 88b5c248017a1a..4a21a67da5606a 100644 --- a/jingle/OWNERS +++ b/jingle/OWNERS @@ -1,2 +1,3 @@ +set noparent sergeyu@chromium.org thestig@chromium.org \ No newline at end of file diff --git a/media/OWNERS b/media/OWNERS index 69199030a273d7..79f898dfe017e1 100644 --- a/media/OWNERS +++ b/media/OWNERS @@ -8,6 +8,7 @@ # and to load balance. Only use OWNERS in this file for these subdirectories # when doing refactorings and general cleanups. +set noparent chcunningham@chromium.org dalecurtis@chromium.org jrummell@chromium.org diff --git a/mojo/OWNERS b/mojo/OWNERS index 514a3d14aef036..341cd1282765c4 100644 --- a/mojo/OWNERS +++ b/mojo/OWNERS @@ -1,3 +1,4 @@ +set noparent dcheng@chromium.org oksamyt@chromium.org rockot@google.com diff --git a/native_client_sdk/OWNERS b/native_client_sdk/OWNERS index 2742cd1384197c..1d9fa29489cd37 100644 --- a/native_client_sdk/OWNERS +++ b/native_client_sdk/OWNERS @@ -1,3 +1,4 @@ +set noparent binji@chromium.org bradnelson@chromium.org sbc@chromium.org \ No newline at end of file diff --git a/net/OWNERS b/net/OWNERS index b459edd55203da..8f1447cabd9061 100644 --- a/net/OWNERS +++ b/net/OWNERS @@ -1,3 +1,4 @@ +set noparent agl@chromium.org davidben@chromium.org dschinazi@chromium.org diff --git a/pdf/OWNERS b/pdf/OWNERS index 062da36634a37b..1a8e8233a4ef6b 100644 --- a/pdf/OWNERS +++ b/pdf/OWNERS @@ -1,3 +1,4 @@ +set noparent dhoss@chromium.org dsinclair@chromium.org hnakashima@chromium.org diff --git a/ppapi/OWNERS b/ppapi/OWNERS index f129781fe2fcf4..27544ec847e6b4 100644 --- a/ppapi/OWNERS +++ b/ppapi/OWNERS @@ -1,2 +1,3 @@ +set noparent bbudge@chromium.org raymes@chromium.org diff --git a/printing/OWNERS b/printing/OWNERS index eb3f8066888548..6d26dfe6200780 100644 --- a/printing/OWNERS +++ b/printing/OWNERS @@ -1,3 +1,4 @@ +set noparent rbpotter@chromium.org thestig@chromium.org weili@chromium.org diff --git a/remoting/OWNERS b/remoting/OWNERS index 40eb7554a9c82e..7fabf774e594bf 100644 --- a/remoting/OWNERS +++ b/remoting/OWNERS @@ -1,3 +1,4 @@ +set noparent garykac@chromium.org jamiewalch@chromium.org joedow@chromium.org diff --git a/rlz/OWNERS b/rlz/OWNERS index 5dd6b923a3b1ff..144a99b5983a88 100644 --- a/rlz/OWNERS +++ b/rlz/OWNERS @@ -1,2 +1,3 @@ +set noparent rogerta@chromium.org sdefresne@chromium.org \ No newline at end of file diff --git a/sandbox/OWNERS b/sandbox/OWNERS index f10fedc1c199a2..64cd8f430ac30e 100644 --- a/sandbox/OWNERS +++ b/sandbox/OWNERS @@ -1,3 +1,4 @@ +set noparent jorgelo@chromium.org jschuh@chromium.org palmer@chromium.org diff --git a/services/OWNERS b/services/OWNERS index aa84af86091c4c..9a9fca26601ba7 100644 --- a/services/OWNERS +++ b/services/OWNERS @@ -1,3 +1,4 @@ +set noparent blundell@chromium.org jam@chromium.org rockot@google.com diff --git a/skia/OWNERS b/skia/OWNERS index 6b56d17359ec80..dd0fc59c856266 100644 --- a/skia/OWNERS +++ b/skia/OWNERS @@ -1,3 +1,4 @@ +set noparent alokp@chromium.org borenet@google.com brianosman@google.com diff --git a/sql/OWNERS b/sql/OWNERS index 82632a40b3635a..f1d3c71464fa75 100644 --- a/sql/OWNERS +++ b/sql/OWNERS @@ -1,3 +1,5 @@ +set noparent + # Primary: pwnall@chromium.org diff --git a/storage/OWNERS b/storage/OWNERS index 919ed9bbf50a8b..7ccd317ff28480 100644 --- a/storage/OWNERS +++ b/storage/OWNERS @@ -1,3 +1,4 @@ +set noparent dmurph@chromium.org jsbell@chromium.org pwnall@chromium.org diff --git a/testing/OWNERS b/testing/OWNERS index 55e9384f255708..444ea4d004ad47 100644 --- a/testing/OWNERS +++ b/testing/OWNERS @@ -1,2 +1,3 @@ +set noparent dpranke@google.com johnchen@chromium.org diff --git a/third_party/blink/public/OWNERS b/third_party/blink/public/OWNERS index 2ea2f13b81af17..3dd00d11db9977 100644 --- a/third_party/blink/public/OWNERS +++ b/third_party/blink/public/OWNERS @@ -1,3 +1,4 @@ +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners chrishtr@chromium.org danakj@chromium.org dcheng@chromium.org @@ -15,6 +16,7 @@ pdr@chromium.org pfeldman@chromium.org rbyers@chromium.org tkent@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners # This is for the common case of adding or renaming files. If you're doing # structural changes, please get a review from a reviewer in this file. diff --git a/tools/OWNERS b/tools/OWNERS index d8f480f483200e..246d0b7c25f0a2 100644 --- a/tools/OWNERS +++ b/tools/OWNERS @@ -5,6 +5,7 @@ # If you're changing existing tools, have your change reviewed by the # OWNERS of the existing tool. +set noparent brucedawson@chromium.org dpranke@google.com scottmg@chromium.org diff --git a/ui/OWNERS b/ui/OWNERS index 96fc5479f697c7..cd4f28bc0c8f45 100644 --- a/ui/OWNERS +++ b/ui/OWNERS @@ -1,3 +1,4 @@ +set noparent sadrul@chromium.org sky@chromium.org thakis@chromium.org diff --git a/url/OWNERS b/url/OWNERS index 96e6f2a1ea0987..0b1362acd5bf94 100644 --- a/url/OWNERS +++ b/url/OWNERS @@ -1,4 +1,7 @@ +set noparent +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners csharrison@chromium.org dcheng@chromium.org mkwst@chromium.org -palmer@chromium.org \ No newline at end of file +palmer@chromium.org +# NOTE: keep this in sync with lsc-owners-override@chromium.org owners diff --git a/weblayer/OWNERS b/weblayer/OWNERS index e8c61b459e1745..5a9d27a380bf09 100644 --- a/weblayer/OWNERS +++ b/weblayer/OWNERS @@ -1,3 +1,4 @@ +set noparent blundell@chromium.org boliu@chromium.org cduvall@chromium.org