Merge pull request #1161 from jberry-suse/check_source-non-factory

check_source: allow usage by SLE to primarily add repo-checker review
This commit is contained in:
Jimmy Berry 2017-10-06 16:01:31 -05:00 committed by GitHub
commit 9621116997

View File

@ -30,7 +30,6 @@ class CheckSource(ReviewBot.ReviewBot):
self.ignore_devel = False self.ignore_devel = False
self.review_team = 'opensuse-review-team' self.review_team = 'opensuse-review-team'
self.repo_checker = 'repo-checker' self.repo_checker = 'repo-checker'
self.staging_group = 'factory-staging'
self.skip_add_reviews = False self.skip_add_reviews = False
def check_source_submission(self, source_project, source_package, source_revision, target_project, target_package): def check_source_submission(self, source_project, source_package, source_revision, target_project, target_package):
@ -113,15 +112,25 @@ class CheckSource(ReviewBot.ReviewBot):
if self.only_changes(): if self.only_changes():
self.logger.debug('only .changes modifications') self.logger.debug('only .changes modifications')
if not self.dryrun: staging_group = self.staging_group(target_project)
if staging_group and not self.dryrun:
osc.core.change_review_state(self.apiurl, str(self.request.reqid), 'accepted', osc.core.change_review_state(self.apiurl, str(self.request.reqid), 'accepted',
by_group=self.staging_group, by_group=staging_group,
message='skipping the staging process since only .changes modifications') message='skipping the staging process since only .changes modifications')
elif self.repo_checker is not None: elif self.repo_checker is not None:
self.add_review(self.request, by_user=self.repo_checker, msg='Please review build success') self.add_review(self.request, by_user=self.repo_checker, msg='Please review build success')
return True return True
def staging_group(self, project):
try:
return self.staging_api(project).cstaging_group
except urllib2.HTTPError, e:
if e.code != 404:
raise e
return None
def is_devel_project(self, source_project, target_project): def is_devel_project(self, source_project, target_project):
# Load project config and allow for remote entries. # Load project config and allow for remote entries.
self.staging_api(target_project) self.staging_api(target_project)
@ -238,11 +247,10 @@ class CommandLineInterface(ReviewBot.CommandLineInterface):
def get_optparser(self): def get_optparser(self):
parser = ReviewBot.CommandLineInterface.get_optparser(self) parser = ReviewBot.CommandLineInterface.get_optparser(self)
parser.add_option('--ignore-devel', dest='ignore_devel', action='store_true', default=False, help='ignore devel projects for target package') parser.add_option('--ignore-devel', action='store_true', default=False, help='ignore devel projects for target package')
parser.add_option('--review-team', dest='review_team', metavar='GROUP', help='review team group added to requests with > 8 diff') parser.add_option('--review-team', metavar='GROUP', help='review team group added to requests')
parser.add_option('--repo-checker', dest='repo_checker', metavar='USER', help='repo checker user added after accepted review') parser.add_option('--repo-checker', metavar='USER', help='repo checker user added after accepted review')
parser.add_option('--staging-group', metavar='GROUP', help='group used by staging process') parser.add_option('--skip-add-reviews', action='store_true', default=False, help='skip adding review after completing checks')
parser.add_option('--skip-add-reviews', dest='skip_add_reviews', action='store_true', default=False, help='skip adding review after completing checks')
return parser return parser
@ -252,11 +260,13 @@ class CommandLineInterface(ReviewBot.CommandLineInterface):
if self.options.ignore_devel: if self.options.ignore_devel:
bot.ignore_devel = self.options.ignore_devel bot.ignore_devel = self.options.ignore_devel
if self.options.review_team: if self.options.review_team:
if self.options.review_team == 'None':
self.options.review_team = None
bot.review_team = self.options.review_team bot.review_team = self.options.review_team
if self.options.repo_checker: if self.options.repo_checker:
if self.options.repo_checker == 'None':
self.options.repo_checker = None
bot.repo_checker = self.options.repo_checker bot.repo_checker = self.options.repo_checker
if self.options.staging_group:
bot.staging_group = self.options.staging_group
bot.skip_add_reviews = self.options.skip_add_reviews bot.skip_add_reviews = self.options.skip_add_reviews
return bot return bot