commit | 706c2873d28004bd82c592c4879f36c8c7caf93f | [log] [tgz] |
---|---|---|
author | Edwin Kempin <ekempin@google.com> | Mon Nov 22 10:16:01 2021 +0100 |
committer | Edwin Kempin <ekempin@google.com> | Mon Nov 22 12:33:22 2021 +0100 |
tree | 3b8de27ed93a9861cc76b033ac409736104d798a | |
parent | 0dbdb0e89fb61ef5dda19488a35256cdccab7d8d [diff] |
Drop PROJECT_OWNERS as option for fallback code owners We (Google) cannot support this option in our cronjob that automatically reindexes stale changes. Since the result of submit rules are stored in the index, reindexing a change invokes the code-owners submit rule. Running the code-owners submit rule with fallbackCodeOwners = PROJECT_OWNERS fails in the cronjob because the cronjob has no permission backend available and hence cannot check user permissions, which is needed to know if a user is a project owner. Making the permission backend available in the cronjob is infeasible at the moment (because we have group backends that contact third-party systems that do not work in the cronjob environment). Since none of our stakeholders uses project owners as fallback code owners we decided to drop this option. This also simplifies the code quite a lot. A few tests used project owners as fallback code owners to test other functionality. These have been adapted to not rely on project owners as fallback code owners. Most notable the CodeOwnerSubmitRuleBatchIT test needed to be changed. Instead of using project owners as fallback code owners it configures code owners via an OWNERS file now. To create the OWNERS file the code owners test API is used, which needs to be bound in Guice now. To add this binding TestBatchModule was added that follows the example of TestModule. If after this change fallbackCodeOwners = PROJECT_OWNERS is still set, we fallback to fallbackCodeOwners = NONE. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Id34ccecfdc8aab534d96476e848eda4bec225f64
This plugin provides support for defining code owners for files in a repository.
If the code-owners plugin is enabled, changes can only be submitted if all touched files are covered by approvals from code owners.
Also see resources/Documentation/about.md.
IMPORTANT: Before installing/enabling the plugin follow the instructions from the setup guide, see resources/Documentation/setup-guide.md.
For testing the plugin with Gerrit FE Dev Helper build the JavaScript bundle and copy it to the plugins/
folder:
bazel build //plugins/code-owners/ui:code-owners cp -f bazel-bin/plugins/code-owners/ui/code-owners.js plugins/
and let the Dev Helper redirect from .+/plugins/code-owners/static/code-owners.js
to http://localhost:8081/plugins_/code-owners.js
.