Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: scripts/slave/recipes/v8/auto_roll_release_process.py

Issue 1919193002: build: roll infra_paths changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: merge Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 DEPS = [ 5 DEPS = [
6 'depot_tools/bot_update', 6 'depot_tools/bot_update',
7 'depot_tools/infra_paths',
7 'file', 8 'file',
8 'depot_tools/gclient', 9 'depot_tools/gclient',
9 'depot_tools/git', 10 'depot_tools/git',
10 'gsutil', 11 'gsutil',
11 'recipe_engine/json', 12 'recipe_engine/json',
12 'recipe_engine/path', 13 'recipe_engine/path',
13 'recipe_engine/properties', 14 'recipe_engine/properties',
14 'recipe_engine/python', 15 'recipe_engine/python',
15 'recipe_engine/raw_io', 16 'recipe_engine/raw_io',
16 'recipe_engine/step', 17 'recipe_engine/step',
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 'update-ref', ref, hsh, 54 'update-ref', ref, hsh,
54 cwd=api.path['checkout'], 55 cwd=api.path['checkout'],
55 ) 56 )
56 api.git( 57 api.git(
57 'push', repo, '%s:%s' % (ref, ref), 58 'push', repo, '%s:%s' % (ref, ref),
58 cwd=api.path['checkout'], 59 cwd=api.path['checkout'],
59 ) 60 )
60 61
61 # Upload log for debugging. 62 # Upload log for debugging.
62 ref_log_file_name = ref.replace('/', '_') + '.log' 63 ref_log_file_name = ref.replace('/', '_') + '.log'
63 ref_log_path = api.path['slave_build'].join(ref_log_file_name) 64 ref_log_path = api.infra_paths['slave_build'].join(ref_log_file_name)
64 log = [] 65 log = []
65 if api.path.exists(ref_log_path): 66 if api.path.exists(ref_log_path):
66 log.append(api.file.read( 67 log.append(api.file.read(
67 'Read %s' % ref_log_file_name, ref_log_path, test_data='')) 68 'Read %s' % ref_log_file_name, ref_log_path, test_data=''))
68 log.append('%s %s' % (hsh, str(api.time.time()))) 69 log.append('%s %s' % (hsh, str(api.time.time())))
69 api.file.write('Write %s' % ref_log_file_name, ref_log_path, '\n'.join(log)) 70 api.file.write('Write %s' % ref_log_file_name, ref_log_path, '\n'.join(log))
70 api.gsutil.upload( 71 api.gsutil.upload(
71 ref_log_path, 72 ref_log_path,
72 'chromium-v8-auto-roll', 73 'chromium-v8-auto-roll',
73 api.path.join('v8_release_process', ref_log_file_name), 74 api.path.join('v8_release_process', ref_log_file_name),
74 ) 75 )
75 76
76 77
77 def ReadTimeStamp(api, name): 78 def ReadTimeStamp(api, name):
78 return int(float( 79 return int(float(
79 api.file.read( 80 api.file.read(
80 name, 81 name,
81 api.path['slave_build'].join('timestamp.txt'), 82 api.infra_paths['slave_build'].join('timestamp.txt'),
82 ).strip())) 83 ).strip()))
83 84
84 85
85 def WriteTimeStamp(api, name, timestamp): 86 def WriteTimeStamp(api, name, timestamp):
86 api.file.write( 87 api.file.write(
87 name, 88 name,
88 api.path['slave_build'].join('timestamp.txt'), 89 api.infra_paths['slave_build'].join('timestamp.txt'),
89 str(timestamp), 90 str(timestamp),
90 ) 91 )
91 92
92 93
93 def LogStep(api, text): 94 def LogStep(api, text):
94 api.step('log', ['echo', text]) 95 api.step('log', ['echo', text])
95 96
96 97
97 def AgeLimitBailout(api, new_date, old_date): 98 def AgeLimitBailout(api, new_date, old_date):
98 age = (new_date - old_date) / SEC_TO_HOURS 99 age = (new_date - old_date) / SEC_TO_HOURS
99 LogStep(api, 'Current candidate is %dh old (limit: %dh).' % 100 LogStep(api, 'Current candidate is %dh old (limit: %dh).' %
100 (age, TIME_LIMIT_HOURS)) 101 (age, TIME_LIMIT_HOURS))
101 return age < TIME_LIMIT_HOURS 102 return age < TIME_LIMIT_HOURS
102 103
103 104
104 def GetLKGR(api): 105 def GetLKGR(api):
105 step_result = api.python( 106 step_result = api.python(
106 'get new lkgr', 107 'get new lkgr',
107 api.path['build'].join('scripts', 'tools', 'runit.py'), 108 api.infra_paths['build'].join('scripts', 'tools', 'runit.py'),
108 [api.path['build'].join('scripts', 'tools', 'pycurl.py'), 109 [api.infra_paths['build'].join('scripts', 'tools', 'pycurl.py'),
109 '%s/lkgr' % STATUS_URL], 110 '%s/lkgr' % STATUS_URL],
110 stdout=api.raw_io.output(), 111 stdout=api.raw_io.output(),
111 ) 112 )
112 lkgr = step_result.stdout.strip() 113 lkgr = step_result.stdout.strip()
113 step_result.presentation.logs['logs'] = [ 114 step_result.presentation.logs['logs'] = [
114 'New candidate: %s (%s)' % (lkgr, str(api.time.time())), 115 'New candidate: %s (%s)' % (lkgr, str(api.time.time())),
115 ] 116 ]
116 return lkgr 117 return lkgr
117 118
118 119
119 def ClusterfuzzHasIssues(api): 120 def ClusterfuzzHasIssues(api):
120 step_test_data = lambda: api.json.test_api.output([]) 121 step_test_data = lambda: api.json.test_api.output([])
121 step_result = api.python( 122 step_result = api.python(
122 'check clusterfuzz', 123 'check clusterfuzz',
123 api.path['checkout'].join( 124 api.path['checkout'].join(
124 'tools', 'release', 'check_clusterfuzz.py'), 125 'tools', 'release', 'check_clusterfuzz.py'),
125 ['--key-file', api.path['slave_build'].join('.cf_key'), 126 ['--key-file', api.infra_paths['slave_build'].join('.cf_key'),
126 '--results-file', api.json.output(add_json_log=False)], 127 '--results-file', api.json.output(add_json_log=False)],
127 # Note: Output is suppressed for security reasons. 128 # Note: Output is suppressed for security reasons.
128 stdout=api.raw_io.output('out'), 129 stdout=api.raw_io.output('out'),
129 stderr=api.raw_io.output('err'), 130 stderr=api.raw_io.output('err'),
130 step_test_data=step_test_data, 131 step_test_data=step_test_data,
131 ) 132 )
132 results = step_result.json.output 133 results = step_result.json.output
133 if results: 134 if results:
134 step_result.presentation.text = 'Found %s issues.' % len(results) 135 step_result.presentation.text = 'Found %s issues.' % len(results)
135 for result in results[:SHOW_MAX_ISSUES]: 136 for result in results[:SHOW_MAX_ISSUES]:
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 api.override_step_data( 221 api.override_step_data(
221 'git show-ref %s' % ROLL_REF, 222 'git show-ref %s' % ROLL_REF,
222 api.raw_io.stream_output(current_roll, stream='stdout'), 223 api.raw_io.stream_output(current_roll, stream='stdout'),
223 ) + 224 ) +
224 api.override_step_data( 225 api.override_step_data(
225 'check timestamp', 226 'check timestamp',
226 api.raw_io.output(current_date), 227 api.raw_io.output(current_date),
227 ) + 228 ) +
228 api.time.seed(int(float(new_date))) + 229 api.time.seed(int(float(new_date))) +
229 api.time.step(2) + 230 api.time.step(2) +
230 api.path.exists(api.path['slave_build'].join( 231 api.infra_paths.exists(api.infra_paths['slave_build'].join(
231 LKGR_REF.replace('/', '_') + '.log')) 232 LKGR_REF.replace('/', '_') + '.log'))
232 ) 233 )
233 234
234 yield Test( 235 yield Test(
235 'same_lkgr', 236 'same_lkgr',
236 hsh_old, 237 hsh_old,
237 date_old, 238 date_old,
238 hsh_old, 239 hsh_old,
239 date_new, 240 date_new,
240 ) 241 )
(...skipping 27 matching lines...) Expand all
268 date_new, 269 date_new,
269 current_roll=hsh_old, 270 current_roll=hsh_old,
270 ) + api.override_step_data('check clusterfuzz', api.json.output([1, 2])) 271 ) + api.override_step_data('check clusterfuzz', api.json.output([1, 2]))
271 yield Test( 272 yield Test(
272 'new_lkgr_failed_timestamp', 273 'new_lkgr_failed_timestamp',
273 hsh_recent, 274 hsh_recent,
274 date_recent, 275 date_recent,
275 hsh_new, 276 hsh_new,
276 date_new, 277 date_new,
277 ) + api.override_step_data('check timestamp', retcode=1) 278 ) + api.override_step_data('check timestamp', retcode=1)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698