From bf12c5e0d73e552ae3b413d7c685ee52c2b7fa9e Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Fri, 1 Nov 2019 14:23:17 -0500 Subject: [PATCH] origin-manager: provide and utilize origin_maintainer_review_ensure(). Instead of ensure devel owner using owner search which is incorrect in many cases including for new packages add a review for origin maintainers. --- origin-manager.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/origin-manager.py b/origin-manager.py index 951e385b..afc20be1 100755 --- a/origin-manager.py +++ b/origin-manager.py @@ -2,7 +2,9 @@ from osclib.core import package_source_hash from osclib.core import package_kind +from osclib.core import package_role_expand from osclib.origin import origin_annotation_dump +from osclib.origin import origin_workaround_strip from osclib.origin import config_load from osclib.origin import origin_find from osclib.origin import policy_evaluate @@ -102,7 +104,7 @@ class OriginManager(ReviewBot.ReviewBot): def policy_result_reviews_add(self, project, package, reviews, origin_info_new, origin_info_old): for key, comment in reviews.items(): if key == 'maintainer': - self.devel_project_review_ensure(self.request, project, package, comment) + self.origin_maintainer_review_ensure(origin_info_new, package, message=comment) elif key == 'fallback': fallback_group = config_load(self.apiurl, project).get('fallback-group') comment += '\n\n' + origin_annotation_dump(origin_info_new, origin_info_old) @@ -110,6 +112,15 @@ class OriginManager(ReviewBot.ReviewBot): else: self.add_review(self.request, by_group=key, msg=comment) + def origin_maintainer_review_ensure(self, origin_info, package, message, request=None): + if not request: + request = self.request + + origin = origin_workaround_strip(origin_info.project) + users = package_role_expand(self.apiurl, origin, package, 'maintainer') + if request.creator not in users: + self.add_review(request, by_project=origin, by_package=package, msg=message) + def policy_result_comment_add(self, project, package, comments): message = '\n\n'.join(comments) if len(self.request.actions) > 1: