зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1352113 - Shippable Builds - Refactor SETA old->new handling a bit, to make it clearer. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D22238 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
d23a3c5b36
Коммит
cc220848b6
|
@ -97,41 +97,41 @@ class SETA(object):
|
|||
high_value_android_tasks = list(filter(only_android_raptor, high_value_tasks))
|
||||
low_value_tasks.extend(high_value_android_tasks)
|
||||
|
||||
opt = ['test-windows10-64/opt',
|
||||
'test-windows7-32/opt',
|
||||
'test-linux64/opt',
|
||||
'test-windows10-64-qr/opt',
|
||||
'test-windows7-32-qr/opt',
|
||||
'test-linux64-qr/opt']
|
||||
pgo = ['test-windows10-64-pgo/opt',
|
||||
'test-windows7-32-pgo/opt',
|
||||
'test-linux64-pgo/opt',
|
||||
'test-windows10-64-pgo-qr/opt',
|
||||
'test-windows7-32-pgo-qr/opt',
|
||||
'test-linux64-pgo-qr/opt']
|
||||
# Now add pgo variants to the low-value set
|
||||
for iter in range(0, len(opt)):
|
||||
if any(t.startswith(opt[iter]) for t in low_value_tasks):
|
||||
seta_conversions = {
|
||||
# old: new
|
||||
'test-linux64/opt': 'test-linux64-pgo/opt',
|
||||
'test-linux64-qr/opt': 'test-linux64-pgo-qr/opt',
|
||||
'test-windows7-32/opt': 'test-windows7-32-pgo/opt',
|
||||
'test-windows7-32-qr/opt': 'test-windows7-32-pgo-qr/opt',
|
||||
'test-windows10-64/opt': 'test-windows10-64-pgo/opt',
|
||||
'test-windows10-64-qr/opt': 'test-windows10-64-pgo-qr/opt',
|
||||
}
|
||||
|
||||
# Now add new variants to the low-value set
|
||||
for old, new in seta_conversions.iteritems():
|
||||
if any(t.startswith(old) for t in low_value_tasks):
|
||||
low_value_tasks.extend(
|
||||
[t.replace(opt[iter], pgo[iter]) for t in low_value_tasks]
|
||||
[t.replace(old, new) for t in low_value_tasks]
|
||||
)
|
||||
# ... and the high value list
|
||||
for iter in range(0, len(opt)):
|
||||
if any(t.startswith(opt[iter]) for t in high_value_tasks):
|
||||
for old, new in seta_conversions.iteritems():
|
||||
if any(t.startswith(old) for t in high_value_tasks):
|
||||
high_value_tasks.extend(
|
||||
[t.replace(opt[iter], pgo[iter]) for t in high_value_tasks]
|
||||
[t.replace(old, new) for t in high_value_tasks]
|
||||
)
|
||||
|
||||
def pgo_as_opt_is_high_value(label):
|
||||
for iter in range(0, len(opt)):
|
||||
if label.startswith(pgo[iter]):
|
||||
opt_label = label.replace(pgo[iter], opt[iter])
|
||||
if opt_label in high_value_tasks:
|
||||
def new_as_old_is_high_value(label):
|
||||
# This doesn't care if there are multiple old values for one new
|
||||
# it will always check every old value.
|
||||
for old, new in seta_conversions.iteritems():
|
||||
if label.startswith(new):
|
||||
old_label = label.replace(new, old)
|
||||
if old_label in high_value_tasks:
|
||||
return True
|
||||
return False
|
||||
|
||||
# Now rip out from low value things that were high value in opt
|
||||
low_value_tasks = [x for x in low_value_tasks if not pgo_as_opt_is_high_value(x)]
|
||||
low_value_tasks = [x for x in low_value_tasks if not new_as_old_is_high_value(x)]
|
||||
|
||||
# ensure no build tasks slipped in, we never want to optimize out those
|
||||
low_value_tasks = [x for x in low_value_tasks if 'build' not in x]
|
||||
|
|
Загрузка…
Ссылка в новой задаче