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

Side by Side Diff: bin/cbuildbot.py

Issue 3238012: Change clobber logic to be explicit (Closed) Base URL: http://git.chromium.org/git/crosutils.git
Patch Set: Fix comment Created 10 years, 3 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
« no previous file with comments | « no previous file | no next file » | 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) 2010 The Chromium OS Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """CBuildbot is wrapper around the build process used by the pre-flight queue""" 7 """CBuildbot is wrapper around the build process used by the pre-flight queue"""
8 8
9 import errno 9 import errno
10 import re 10 import re
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 def main(): 369 def main():
370 # Parse options 370 # Parse options
371 usage = "usage: %prog [options] cbuildbot_config" 371 usage = "usage: %prog [options] cbuildbot_config"
372 parser = optparse.OptionParser(usage=usage) 372 parser = optparse.OptionParser(usage=usage)
373 parser.add_option('-r', '--buildroot', 373 parser.add_option('-r', '--buildroot',
374 help='root directory where build occurs', default=".") 374 help='root directory where build occurs', default=".")
375 parser.add_option('-n', '--buildnumber', 375 parser.add_option('-n', '--buildnumber',
376 help='build number', type='int', default=0) 376 help='build number', type='int', default=0)
377 parser.add_option('-f', '--revisionfile', 377 parser.add_option('-f', '--revisionfile',
378 help='file where new revisions are stored') 378 help='file where new revisions are stored')
379 parser.add_option('--noclobber', action='store_false', dest='clobber', 379 parser.add_option('--clobber', action='store_true', dest='clobber',
380 default=True, 380 default=False,
381 help='Disables clobbering the buildroot on failure') 381 help='Clobbers an old checkout before syncing')
382 (options, args) = parser.parse_args() 382 (options, args) = parser.parse_args()
383 383
384 buildroot = options.buildroot 384 buildroot = options.buildroot
385 revisionfile = options.revisionfile 385 revisionfile = options.revisionfile
386 clobber = options.clobber 386
387 # Passed option to clobber.
388 if options.clobber:
389 RunCommand(['sudo', 'rm', '-rf', buildroot])
387 390
388 if len(args) == 1: 391 if len(args) == 1:
389 buildconfig = _GetConfig(args[0]) 392 buildconfig = _GetConfig(args[0])
390 else: 393 else:
391 print >> sys.stderr, "Missing configuration description" 394 print >> sys.stderr, "Missing configuration description"
392 parser.print_usage() 395 parser.print_usage()
393 sys.exit(1) 396 sys.exit(1)
394 397
395 try: 398 try:
396 if not os.path.isdir(buildroot): 399 if not os.path.isdir(buildroot):
(...skipping 28 matching lines...) Expand all
425 _UprevCleanup(buildroot) 428 _UprevCleanup(buildroot)
426 sys.stderr('CBUILDBOT - One of the slaves has failed!!!') 429 sys.stderr('CBUILDBOT - One of the slaves has failed!!!')
427 sys.exit(1) 430 sys.exit(1)
428 else: 431 else:
429 # Publish my status to the master if its expecting it. 432 # Publish my status to the master if its expecting it.
430 if buildconfig['important']: 433 if buildconfig['important']:
431 cbuildbot_comm.PublishStatus(cbuildbot_comm.STATUS_BUILD_COMPLETE) 434 cbuildbot_comm.PublishStatus(cbuildbot_comm.STATUS_BUILD_COMPLETE)
432 435
433 _UprevCleanup(buildroot) 436 _UprevCleanup(buildroot)
434 except: 437 except:
435 # Something went wrong, cleanup (being paranoid) for next build.
436 if clobber:
437 RunCommand(['sudo', 'rm', '-rf', buildroot], print_cmd=False)
438
439 # Send failure to master bot. 438 # Send failure to master bot.
440 if not buildconfig['master'] and buildconfig['important']: 439 if not buildconfig['master'] and buildconfig['important']:
441 cbuildbot_comm.PublishStatus(cbuildbot_comm.STATUS_BUILD_FAILED) 440 cbuildbot_comm.PublishStatus(cbuildbot_comm.STATUS_BUILD_FAILED)
442 441
443 raise 442 raise
444 443
445 444
446 if __name__ == '__main__': 445 if __name__ == '__main__':
447 main() 446 main()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698