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

Side by Side Diff: annotated_steps.py

Issue 2235233004: Switch package waterfall to use package spec file, not package root. (Closed) Base URL: https://github.com/dart-lang/package-bots.git@master
Patch Set: Address comments Created 4 years, 4 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
« no previous file with comments | « no previous file | trigger.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 3 # Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
4 # for details. All rights reserved. Use of this source code is governed by a 4 # for details. All rights reserved. Use of this source code is governed by a
5 # BSD-style license that can be found in the LICENSE file. 5 # BSD-style license that can be found in the LICENSE file.
6 6
7 import imp 7 import imp
8 import os 8 import os
9 import re 9 import re
10 import shutil 10 import shutil
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 local_zip = os.path.join(build_root, 'sdk.zip') 171 local_zip = os.path.join(build_root, 'sdk.zip')
172 gsutils = bot_utils.GSUtil() 172 gsutils = bot_utils.GSUtil()
173 gsutils.execute(['cp', 173 gsutils.execute(['cp',
174 namer.sdk_zipfilepath('latest', bot_info.system, 174 namer.sdk_zipfilepath('latest', bot_info.system,
175 'ia32', 'release'), 175 'ia32', 'release'),
176 local_zip]) 176 local_zip])
177 if bot_info.system == 'windows': 177 if bot_info.system == 'windows':
178 with zipfile.ZipFile(local_zip, 'r') as zip_file: 178 with zipfile.ZipFile(local_zip, 'r') as zip_file:
179 zip_file.extractall(path=build_root) 179 zip_file.extractall(path=build_root)
180 else: 180 else:
181 # We don't keep the execution bit if we use python's zipfile on possix. 181 # We don't keep the execution bit if we use python's zipfile on posix.
182 RunProcess(['unzip', local_zip, '-d', build_root]) 182 RunProcess(['unzip', local_zip, '-d', build_root])
183 pub = GetPub(bot_info) 183 pub = GetPub(bot_info)
184 RunProcess([pub, '--version']) 184 RunProcess([pub, '--version'])
185 185
186 def GetPackagePath(bot_info): 186 def GetPackagePath(bot_info):
187 if bot_info.is_repo: 187 if bot_info.is_repo:
188 return os.path.join('pkg', bot_info.package_name) 188 return os.path.join('pkg', bot_info.package_name)
189 return os.path.join('third_party', 'pkg', bot_info.package_name) 189 return os.path.join('third_party', 'pkg', bot_info.package_name)
190 190
191 def GetBuildRoot(bot_info): 191 def GetBuildRoot(bot_info):
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 print '- ok: ' if exists else '- bad: ', 260 print '- ok: ' if exists else '- bad: ',
261 print os.path.join(package, 'lib', 'unittest.dart') 261 print os.path.join(package, 'lib', 'unittest.dart')
262 print '' 262 print ''
263 263
264 def RunPubUpgrade(bot_info, path): 264 def RunPubUpgrade(bot_info, path):
265 pub = GetPub(bot_info) 265 pub = GetPub(bot_info)
266 extra_env = GetPubEnv(bot_info) 266 extra_env = GetPubEnv(bot_info)
267 with BuildStep('Pub upgrade'): 267 with BuildStep('Pub upgrade'):
268 # For now, assume pub 268 # For now, assume pub
269 with ChangedWorkingDirectory(path): 269 with ChangedWorkingDirectory(path):
270 args = [pub, 'upgrade'] 270 args = [pub, 'upgrade', '--no-package-symlinks']
nweiz 2016/08/12 19:58:14 Heads up: this flag is not yet public and it's ver
271 RunProcess(args, extra_env=extra_env) 271 RunProcess(args, extra_env=extra_env)
272 272
273 def RunPubBuild(bot_info, path, folder, mode=None): 273 def RunPubBuild(bot_info, path, folder, mode=None):
274 skip_pub_build = ['dart-protobuf', 'rpc'] 274 skip_pub_build = ['dart-protobuf', 'rpc']
275 with BuildStep('Pub build on %s' % folder): 275 with BuildStep('Pub build on %s' % folder):
276 if bot_info.package_name in skip_pub_build: 276 if bot_info.package_name in skip_pub_build:
277 print "Not running pub build" 277 print "Not running pub build"
278 return 278 return
279 pub = GetPub(bot_info) 279 pub = GetPub(bot_info)
280 extra_env = GetPubEnv(bot_info) 280 extra_env = GetPubEnv(bot_info)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 if is_first_test_run: 313 if is_first_test_run:
314 is_first_test_run = False 314 is_first_test_run = False
315 return [] 315 return []
316 return ['--append_logs'] 316 return ['--append_logs']
317 317
318 def RunPackageTesting(bot_info, package_path, folder='test'): 318 def RunPackageTesting(bot_info, package_path, folder='test'):
319 package_name = os.path.basename(package_path) 319 package_name = os.path.basename(package_path)
320 if package_name == '': 320 if package_name == '':
321 # when package_path had a trailing slash 321 # when package_path had a trailing slash
322 package_name = os.path.basename(os.path.dirname(package_path)) 322 package_name = os.path.basename(os.path.dirname(package_path))
323 package_root = os.path.join(package_path, folder, 'packages') 323 package_spec_file = os.path.join(package_path, '.packages')
324 324
325 # Note: we use package_name/package_name/folder and not package_name/folder on 325 # Note: we use package_name/package_name/folder and not package_name/folder on
326 # purpose. The first package_name denotes the suite, the second is part of the 326 # purpose. The first package_name denotes the suite, the second is part of the
327 # path we want to match. Without the second package_name, we may match tests 327 # path we want to match. Without the second package_name, we may match tests
328 # that contain "folder" further down. So if folder is "test", 328 # that contain "folder" further down. So if folder is "test",
329 # "package_name/test" matches "package_name/build/test", but 329 # "package_name/test" matches "package_name/build/test", but
330 # "package_name/package_name/test" does not. 330 # "package_name/package_name/test" does not.
331 standard_args = ['--arch=ia32', 331 standard_args = ['--arch=ia32',
332 '--suite-dir=%s' % package_path, 332 '--suite-dir=%s' % package_path,
333 '--use-sdk', '--report', '--progress=buildbot', 333 '--use-sdk', '--report', '--progress=buildbot',
334 '--clear_browser_cache', 334 '--clear_browser_cache',
335 '--package-root=%s' % package_root, 335 '--packages=%s' % package_spec_file,
336 '--write-debug-log', '-v', 336 '--write-debug-log', '-v',
337 '--time', 337 '--time',
338 '%s/%s/%s/' % (package_name, package_name, folder)] 338 '%s/%s/%s/' % (package_name, package_name, folder)]
339 suffix = ' under build' if folder == 'build/test' else '' 339 suffix = ' under build' if folder == 'build/test' else ''
340 with BuildStep('Test vm release mode%s' % suffix, swallow_error=True): 340 with BuildStep('Test vm release mode%s' % suffix, swallow_error=True):
341 args = [sys.executable, 'tools/test.py', 341 args = [sys.executable, 'tools/test.py',
342 '-mrelease', '-rvm', '-cnone'] + standard_args 342 '-mrelease', '-rvm', '-cnone'] + standard_args
343 args.extend(LogsArgument()) 343 args.extend(LogsArgument())
344 # For easy integration testing we give access to the sdk bin directory. 344 # For easy integration testing we give access to the sdk bin directory.
345 # This only makes sense on vm testing. 345 # This only makes sense on vm testing.
(...skipping 28 matching lines...) Expand all
374 raise Exception("Unknown magic marker %s. Known mappings are: %s" % 374 raise Exception("Unknown magic marker %s. Known mappings are: %s" %
375 (word, replacements)) 375 (word, replacements))
376 return replacements[word] 376 return replacements[word]
377 return re.sub(r"\$(\w+)", replace, v) 377 return re.sub(r"\$(\w+)", replace, v)
378 378
379 def RunTestRunner(bot_info, test_package, package_path): 379 def RunTestRunner(bot_info, test_package, package_path):
380 package_name = os.path.basename(package_path) 380 package_name = os.path.basename(package_path)
381 if package_name == '': 381 if package_name == '':
382 # when package_path had a trailing slash 382 # when package_path had a trailing slash
383 package_name = os.path.basename(os.path.dirname(package_path)) 383 package_name = os.path.basename(os.path.dirname(package_path))
384 package_root = os.path.join(package_path, 'packages')
385 384
386 pub = GetPub(bot_info) 385 pub = GetPub(bot_info)
387 extra_env = GetPubEnv(bot_info) 386 extra_env = GetPubEnv(bot_info)
388 with BuildStep('pub run test', swallow_error=True): 387 with BuildStep('pub run test', swallow_error=True):
389 # TODO(nweiz): include dartium here once sdk#23816 is fixed. 388 # TODO(nweiz): include dartium here once sdk#23816 is fixed.
390 platforms = set(['vm', 'chrome', 'firefox']) 389 platforms = set(['vm', 'chrome', 'firefox'])
391 if bot_info.system == 'windows': 390 if bot_info.system == 'windows':
392 platforms.add('ie') 391 platforms.add('ie')
393 # TODO(nweiz): remove dartium here once sdk#23816 is fixed. 392 # TODO(nweiz): remove dartium here once sdk#23816 is fixed.
394 elif bot_info.system == 'mac': 393 elif bot_info.system == 'mac':
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 'dart': utils.CheckedInSdkExecutable(), 497 'dart': utils.CheckedInSdkExecutable(),
499 'project_root': copy_path, 498 'project_root': copy_path,
500 'python': sys.executable 499 'python': sys.executable
501 } 500 }
502 501
503 RunCustomScript(test_config) or \ 502 RunCustomScript(test_config) or \
504 RunDefaultScript(bot_info, test_config, copy_path) 503 RunDefaultScript(bot_info, test_config, copy_path)
505 504
506 if __name__ == '__main__': 505 if __name__ == '__main__':
507 main() 506 main()
OLDNEW
« no previous file with comments | « no previous file | trigger.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698