diff options
author | Magnus Granberg <zorry@gentoo.org> | 2023-07-26 11:21:16 +0200 |
---|---|---|
committer | Magnus Granberg <zorry@gentoo.org> | 2023-07-26 11:21:16 +0200 |
commit | db8e966eef3ede0212dcf85d6d5b82c28d3dfcd5 (patch) | |
tree | 3bdf301155cb28511e8d452dec966abadd0a7a47 /buildbot_gentoo_ci | |
parent | Add run_clean_db_request to clean db (diff) | |
download | tinderbox-cluster-db8e966eef3ede0212dcf85d6d5b82c28d3dfcd5.tar.gz tinderbox-cluster-db8e966eef3ede0212dcf85d6d5b82c28d3dfcd5.tar.bz2 tinderbox-cluster-db8e966eef3ede0212dcf85d6d5b82c28d3dfcd5.zip |
Check issue titel nice
Signed-off-by: Magnus Granberg <zorry@gentoo.org>
Diffstat (limited to 'buildbot_gentoo_ci')
-rw-r--r-- | buildbot_gentoo_ci/steps/bugs.py | 13 | ||||
-rw-r--r-- | buildbot_gentoo_ci/steps/logs.py | 31 |
2 files changed, 26 insertions, 18 deletions
diff --git a/buildbot_gentoo_ci/steps/bugs.py b/buildbot_gentoo_ci/steps/bugs.py index ad87be9..4d958b7 100644 --- a/buildbot_gentoo_ci/steps/bugs.py +++ b/buildbot_gentoo_ci/steps/bugs.py @@ -126,13 +126,22 @@ class GetBugs(BuildStep): for match_word in match_search_text: if match_word in match_bug_text: matches = matches + 1 - print(f"Bug: {str(bug['id'])} Matched words: {str(matches)} Summary: {bug['summary']}") - if matches >= 5: + # try to match the nice words + matches_nice = 0 + match_search_text_nice = list(self.getProperty('error_dict')['title_issue_nice'].split()) + #FIXME: add check for cp + for match_word in match_search_text_nice: + if match_word in match_bug_text: + matches_nice = matches_nice + 1 + print(f"Bug: {str(bug['id'])} Matched words: {str(matches)} {str(matches_nice)} Summary: {bug['summary']}") + #FIXME: set it in bug_config + if matches >= 6 or matches_nice >= 6: match = {} match['match'] = True match['id'] = bug['id'] match['summary'] = bug['summary'] yield log.addStdout(f"Line to match: {self.getProperty('error_dict')['title_issue']}\n") + yield log.addStdout(f"Line to match: {self.getProperty('error_dict')['title_issue_nice']}\n") if match: yield log.addStdout('Match bug: YES\n') yield log.addStdout(f"Bug: {str(match['id'])} Summary: {match['summary']}\n") diff --git a/buildbot_gentoo_ci/steps/logs.py b/buildbot_gentoo_ci/steps/logs.py index 47112e0..d71eb99 100644 --- a/buildbot_gentoo_ci/steps/logs.py +++ b/buildbot_gentoo_ci/steps/logs.py @@ -184,18 +184,18 @@ class MakeIssue(BuildStep): def __init__(self, **kwargs): super().__init__(**kwargs) - def getNiceErrorLine(self, line): + def getNiceErrorLine(self, full_line): # strip away hex addresses, loong path names, line and time numbers and other stuff - # https://github.com/toralf/tinderbox/blob/main/bin/job.sh#L467 + # https://github.com/toralf/tinderbox/blob/main/bin/job.sh#L469 # FIXME: Add the needed line when needed - if re.search(': line', line): - line = re.sub(r"\d", "<snip>", line) - # Shorten the path - if line.startswith('/usr/'): - line = line.replace(os.path.split(line.split(' ', 1)[0])[0], '/...') - if re.search(': \d:\d: ', line): - line = re.sub(r":\d:\d: ", ": ", line) - return line + new_line = [] + for line in full_line.split(' '): + # Shorten the path + if line.startswith('/usr/') or line.startswith('/var/') or line.startswith('../'): + split_path_line = os.path.split(line) + line = line.replace(split_path_line[0], '...') + new_line.append(line) + return ' '.join(new_line) def ClassifyIssue(self): # get the title for the issue @@ -215,11 +215,12 @@ class MakeIssue(BuildStep): self.error_dict['title_found'] = True else: self.error_dict['title_issue'] = 'title_issue : None' - self.error_dict['title_nice'] = 'title_issue : None' + self.error_dict['title_issue_nice'] = 'title_issue_nice : None' self.error_dict['title_found'] = False - self.error_dict['title_phase'] = 'failed in '+ self.error_dict['phase'] + self.error_dict['title_phase'] = 'fails to '+ self.error_dict['phase'] + ':' #set the error title - self.error_dict['title'] = self.error_dict['title_phase'] + ' - ' + self.error_dict['title_issue'] + self.error_dict['title'] = ' '.join([self.error_dict['title_phase'], self.error_dict['title_issue']]) + self.error_dict['title_nice'] = ' '.join([self.error_dict['title_phase'], self.error_dict['title_issue_nice']]) @defer.inlineCallbacks def run(self): @@ -249,8 +250,6 @@ class MakeIssue(BuildStep): yield self.ClassifyIssue() print(self.error_dict) self.setProperty("status", 'failed', 'status') - #FIXME: nice description for post bug - self.error_dict['summary_log_nice'] = '' self.setProperty("error_dict", self.error_dict, 'error_dict') self.aftersteps_list.append(bugs.GetBugs()) if warning: @@ -463,7 +462,7 @@ class SetupBugReportSteps(BuildStep): bug_args['user'] = bug_config['user'] bug_args['passwd'] = yield p.render(util.Secret("bugs_password")) bug_params = {} - title = separator.join([bug_config['extra_summery'], self.getProperty('error_dict')['cpv'], self.getProperty('error_dict')['title']]) + title = separator.join([bug_config['extra_summery'], self.getProperty('error_dict')['cpv'], self.getProperty('error_dict')['title_nice']]) # bug title max 170 if len(title) >= 170: title = title[:167] + '...' |