First attempt to uniquefy try build's root message

This commit is contained in:
Sergio Durigan Junior 2017-09-12 16:23:39 -04:00
parent cb1514b7ff
commit 928db7f6c8
2 changed files with 19 additions and 7 deletions

View file

@ -366,7 +366,7 @@
"Fedora-i686" ] "Fedora-i686" ]
}, },
{ "type" : "Try_Jobdir", "name" : "try_ssh", { "type" : "GDB_Try_Jobdir", "name" : "try_ssh",
"jobdir" : "try_ssh_jobdir", "jobdir" : "try_ssh_jobdir",
"builderNames" : [ "Fedora-x86_64-m64", "builderNames" : [ "Fedora-x86_64-m64",
"Fedora-x86_64-m32", "Fedora-x86_64-m32",

View file

@ -24,6 +24,7 @@ from gdbcommand import CopyOldGDBSumFile, GdbCatSumfileCommand
from fsdb import SaveGDBResults from fsdb import SaveGDBResults
from racyanalyze import GDBAnalyzeRacyTests from racyanalyze import GDBAnalyzeRacyTests
from urllib import quote from urllib import quote
from time import strftime
from sumfiles import DejaResults, set_web_base, get_web_base from sumfiles import DejaResults, set_web_base, get_web_base
import os import os
@ -147,7 +148,8 @@ def make_try_build_lockfile_name (rev):
def SendRootMessageGDBTesters (branch, change, rev, def SendRootMessageGDBTesters (branch, change, rev,
istrysched = False, istrysched = False,
try_to = None, try_to = None,
try_count = "0"): try_count = "0",
try_msgid = ""):
global GDB_MAIL_TO, GDB_MAIL_FROM global GDB_MAIL_TO, GDB_MAIL_FROM
if istrysched: if istrysched:
@ -203,7 +205,7 @@ def SendRootMessageGDBTesters (branch, change, rev,
else: else:
mail['To'] = try_to mail['To'] = try_to
mailto = try_to mailto = try_to
mail['Message-Id'] = "<%s-try@gdb-build>" % rev mail['Message-Id'] = try_msgid
s = smtplib.SMTP ('localhost') s = smtplib.SMTP ('localhost')
s.sendmail (GDB_MAIL_FROM, [ mailto ], mail.as_string ()) s.sendmail (GDB_MAIL_FROM, [ mailto ], mail.as_string ())
@ -437,12 +439,13 @@ send to the gdb-testers mailing list."""
properties = build.getProperties () properties = build.getProperties ()
isrebuild = properties.getProperty ('isRebuild') isrebuild = properties.getProperty ('isRebuild')
try_count = properties.getProperty ('try_count') try_count = properties.getProperty ('try_count')
try_msgid = properties.getProperty ('root_message_id')
try_to = build.getReason ().strip ("'try' job by user ") try_to = build.getReason ().strip ("'try' job by user ")
# Sending the root message to gdb-testers. # Sending the root message to gdb-testers.
SendRootMessageGDBTesters (branch, cur_change, properties.getProperty ('revision'), SendRootMessageGDBTesters (branch, cur_change, properties.getProperty ('revision'),
istrysched = True, try_to = try_to, istrysched = True, try_to = try_to,
try_count = try_count) try_count = try_count, try_msgid = try_msgid)
# Subject # Subject
subj = "Try Build #%s on %s, branch %s" % (try_count, name, branch) subj = "Try Build #%s on %s, branch %s" % (try_count, name, branch)
@ -600,7 +603,7 @@ mn_try = MyMailNotifier(fromaddr = GDB_MAIL_FROM,
lookup = LookupEmailTryBuild (), lookup = LookupEmailTryBuild (),
tags = [ "MAIL", "TRY" ], tags = [ "MAIL", "TRY" ],
extraHeaders = { 'X-GDB-Buildbot' : '1', extraHeaders = { 'X-GDB-Buildbot' : '1',
'In-Reply-To' : util.Interpolate ("<%(prop:got_revision)s-try@gdb-build>")}) 'In-Reply-To' : util.Interpolate ("%(prop:root_message_id)s")})
c['status'].append (mn) c['status'].append (mn)
c['status'].append (mn_try) c['status'].append (mn_try)
@ -1240,6 +1243,15 @@ def prioritizeTryBuilds (builder, requests):
return r return r
return requests[0] return requests[0]
class GDB_Try_Jobdir (Try_Jobdir):
def parseJob (self, f):
ret = Try_Jobdir.parseJob (self, f)
root_msgid = "<%s-%s-try@gdb-build>" % (ret['baserev'],
strftime ("%H-%M-%S"))
ret['root_message_id'] = root_msgid
return ret
############################### ###############################
#### Configuration loading #### #### Configuration loading ####
############################### ###############################
@ -1264,7 +1276,7 @@ def load_config (c):
c['schedulers'] = [] c['schedulers'] = []
for s in config['schedulers']: for s in config['schedulers']:
# Ugh :-/. There should be no special case here... # Ugh :-/. There should be no special case here...
if s['type'] != 'Nightly' and s['type'] != 'Try_Jobdir': if s['type'] != 'Nightly' and s['type'] != 'GDB_Try_Jobdir':
s['treeStableTimer'] = None s['treeStableTimer'] = None
s['fileIsImportant'] = DefaultGDBfileIsImportant s['fileIsImportant'] = DefaultGDBfileIsImportant
elif s['type'] == 'Nightly': elif s['type'] == 'Nightly':
@ -1282,7 +1294,7 @@ def load_config (c):
pass pass
s['onlyIfChanged'] = False s['onlyIfChanged'] = False
s['branch'] = 'master' s['branch'] = 'master'
elif s['type'] == 'Try_Jobdir': elif s['type'] == 'GDB_Try_Jobdir':
s['properties'] = { 'isTrySched' : 'yes' } s['properties'] = { 'isTrySched' : 'yes' }
if "change_filter" in s: if "change_filter" in s:
s['change_filter'] = globals ()[s['change_filter']] s['change_filter'] = globals ()[s['change_filter']]