aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Granberg <zorry@gentoo.org>2023-07-26 11:21:16 +0200
committerMagnus Granberg <zorry@gentoo.org>2023-07-26 11:21:16 +0200
commitdb8e966eef3ede0212dcf85d6d5b82c28d3dfcd5 (patch)
tree3bdf301155cb28511e8d452dec966abadd0a7a47 /buildbot_gentoo_ci
parentAdd run_clean_db_request to clean db (diff)
downloadtinderbox-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.py13
-rw-r--r--buildbot_gentoo_ci/steps/logs.py31
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] + '...'