Changeset 5024
- Timestamp:
- 07/23/08 13:52:09 (6 months ago)
- Files:
-
- build/buildmaster/master.cfg (modified) (4 diffs)
- build/buildmaster/tgbuilder.py (modified) (9 diffs)
- build/buildmaster/tg_mbuildsteps.py (modified) (5 diffs)
- build/buildmaster/tg_sbuildsteps.py (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
build/buildmaster/master.cfg
r5008 r5024 74 74 #c['schedulers'].append(Periodic('TG',["TG1-full","TG11-full","TG2-full"],60*90)) 75 75 c['schedulers'].append(Periodic("core", 76 ["TG1-full","TG11-full","TG2-full" ],60*30))76 ["TG1-full","TG11-full","TG2-full","TG_NG_SETUP"],60*5)) 77 77 78 78 c['schedulers'].append(Periodic("dependencies", 79 ["Cheetah","RuleDispatch","PyProtocol","SimpleJSON","cElementTree"],60* 60*12))79 ["Cheetah","RuleDispatch","PyProtocol","SimpleJSON","cElementTree"],60*5)) 80 80 81 81 … … 107 107 ftg2 = tg2builder("bin:lib") 108 108 109 ftg_ng = tg_ng_setupbuilder("bin:lib") 110 109 111 ############# RuleDispatch ############### 110 112 fruledispatch = dependencybuildersvn("svn://svn.eby-sarna.com/svnroot/RuleDispatch","bin:lib","RuleDispatch",["PyProtocols"]) … … 183 185 } 184 186 c['builders'].append(b8) 187 188 b9 = {'name': "TG_NG_SETUP", 189 'slavenames': py24list+py25list, 190 'builddir': "tgng", 191 'factory': ftg_ng 192 } 193 c['builders'].append(b9) 185 194 ####### STATUS TARGETS 186 195 … … 192 201 193 202 from buildbot.status import html 194 c['status'].append(html.WebStatus(http_port=8010 ))203 c['status'].append(html.WebStatus(http_port=8010,allowForce=True)) 195 204 196 205 # from buildbot.status import mail build/buildmaster/tgbuilder.py
r5011 r5024 17 17 ftg1 = factory.BuildFactory() 18 18 ftg1.addStep(source.SVN(mode='clobber',svnurl='http://svn.turbogears.org/branches/1.0')) 19 ftg1.addStep(FileDownload,mastersrc="autobuildQuickstarts.py",slavedest="autobuildQuickstarts.py") 20 ftg1.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath},haltOnFailure=True) 19 ftg1.addStep(FileDownload,mastersrc="autobuild_quickstarts.py",slavedest="autobuild_quickstarts.py") 20 ftg1.addStep(FileDownload,mastersrc="upload_script.py",slavedest="upload_script.py") 21 ftg1.addStep(VirtualEnv, env={'PYTHONPATH':pythonpath},haltOnFailure=True) 21 22 ftg1.addStep(InterOSShellCommand,command=["cp","python2.3","python"],description="Rename python23", 22 23 workdir="build/bin",flunkOnFailure=False) … … 31 32 ftg1.addStep(Nose,verbose=True,testdir="turbogears/tests",description="Running nosetest TG", 32 33 env={'PYTHONPATH':pythonpath},haltOnFailure=True) 33 ftg1.addStep(Python,script="autobuild Quickstarts.py",description="Creating quickstart projects",34 ftg1.addStep(Python,script="autobuild_quickstarts.py",description="Creating quickstart projects", 34 35 env={'PYTHONPATH':pythonpath}) 35 36 ftg1.addStep(Nose,description="Running nosetest Quickstart", 36 37 env={'PYTHONPATH':pythonpath},testdir="build") 37 ftg1.addStep(BuildEgg,description="Building TG1 egg",env={'PYTHONPATH':pythonpath},upload=True) 38 ftg1.addStep(BuildEgg,description="Building TG1 egg",env={'PYTHONPATH':pythonpath}) 39 ftg1.addStep(EasyInstall,env={'PYTHONPATH':pythonpath}, localinstall = True, haltOnFailure = True) 40 ftg1.addStep(UploadEgg,env={'PYTHONPATH':pythonpath},package=["TurboGears 1"]) 38 41 return ftg1 39 42 … … 48 51 49 52 ftg11.addStep(source.SVN(mode='clobber',svnurl='http://svn.turbogears.org/branches/1.1')) 50 ftg11.addStep(FileDownload,mastersrc="autobuild Quickstarts.py",slavedest="autobuildQuickstarts.py")53 ftg11.addStep(FileDownload,mastersrc="autobuild_quickstarts.py",slavedest="autobuild_quickstarts.py") 51 54 ftg11.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath},haltOnFailure=True) 52 ftg11.addStep(FileDownload,mastersrc="up dateSetupCfg.py",slavedest="updateSetupCfg.py")55 ftg11.addStep(FileDownload,mastersrc="upload_script.py",slavedest="upload_script.py") 53 56 54 57 ftg11.addStep(InterOSShellCommand,command=["cp","python2.3","python"],description="Rename python23", … … 65 68 ftg11.addStep(Nose,testdir="turbogears/tests",verbose=True,description="Running nosetest TG", 66 69 env={'PYTHONPATH':pythonpath},haltOnFailure=True) 67 ftg11.addStep(Python,script="autobuild Quickstarts.py",description="Creating quickstart projects",70 ftg11.addStep(Python,script="autobuild_quickstarts.py",description="Creating quickstart projects", 68 71 env={'PYTHONPATH':pythonpath}) 69 72 ftg11.addStep(Nose,description="Running nosetest Quickstart",env={'PYTHONPATH':pythonpath}) 70 73 71 ftg11.addStep(BuildEgg,description="Building TG11 egg",env={'PYTHONPATH':pythonpath},upload=True) 74 ftg11.addStep(BuildEgg,description="Building TG11 egg",env={'PYTHONPATH':pythonpath}) 75 ftg11.addStep(EasyInstall,env={'PYTHONPATH':pythonpath}, localinstall = True, haltOnFailure = True) 76 ftg11.addStep(UploadEgg,env={'PYTHONPATH':pythonpath},package=["TurboGears 1.1"]) 72 77 return ftg11 73 78 … … 83 88 ftg2.addStep(source.SVN(mode='clobber',svnurl='http://svn.turbogears.org/projects/tgrepozewho/trunk',workdir='build/tgreoz')) 84 89 ftg2.addStep(source.Mercurial(repourl="https://www.knowledgetap.com/hg/webhelpers",mode='clobber',workdir="build/webhelpers")) 85 90 ftg2.addStep(FileDownload,mastersrc="upload_script.py",slavedest="upload_script.py") 91 ftg2.addStep(FileDownload,mastersrc="autobuild_quickstarts.py",slavedest="autobuild_quickstarts.py") 86 92 ftg2.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath},haltOnFailure=True) 87 93 … … 104 110 env={'PYTHONPATH':newppath},workdir="build/tgdev") 105 111 106 ftg2.addStep(Python,script="autobuild Quickstarts.py",script_args=["TG2"],env={'PYTHONPATH':pythonpath},112 ftg2.addStep(Python,script="autobuild_quickstarts.py",script_args=["TG2"],env={'PYTHONPATH':pythonpath}, 107 113 description="Creating quickstart projects",workdir="build") 108 114 109 ftg2.addStep(Paver,mode="bdist_egg",description="Building TG2 egg", upload=True,115 ftg2.addStep(Paver,mode="bdist_egg",description="Building TG2 egg", 110 116 env={'PYTHONPATH':pythonpath}) 117 ftg2.addStep(EasyInstall,env={'PYTHONPATH':pythonpath}, localinstall = True, haltOnFailure = True) 118 ftg2.addStep(UploadEgg,env={'PYTHONPATH':pythonpath},package=["TurboGears 2"]) 111 119 return ftg2 112 120 … … 117 125 f = factory.BuildFactory() 118 126 f.addStep(source.SVN(svnurl=svn_url,mode='clobber')) 127 f.addStep(FileDownload,mastersrc="upload_script.py",slavedest="upload_script.py") 119 128 f.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath},haltOnFailure=True) 120 129 f.addStep(EasyInstall,package=["nose"],env={'PYTHONPATH':pythonpath}) … … 125 134 f.addStep(RunSetup,description="Installing "+name,env={'PYTHONPATH':pythonpath}) 126 135 f.addStep(Python,script="setup.py",script_args=["test"],description="Testing "+name, env={'PYTHONPATH':pythonpath},workdir="build",haltOnFailure=True) 127 f.addStep(BuildEgg,upload=True,env={'PYTHONPATH':pythonpath}) 136 f.addStep(BuildEgg,env={'PYTHONPATH':pythonpath}) 137 f.addStep(EasyInstall,env={'PYTHONPATH':pythonpath}, localinstall = True, haltOnFailure = True) 138 f.addStep(UploadEgg,env={'PYTHONPATH':pythonpath},package=[name]) 128 139 return f 129 140 … … 131 142 """dependencybuilderee creates a build factory which downloads the source of the dependency via easy_install and builds the egg.""" 132 143 f = factory.BuildFactory() 133 #f.addStep(CleanDir) 144 f.addStep(CleanDir) 145 f.addStep(FileDownload,mastersrc="upload_script.py",slavedest="upload_script.py") 134 146 f.addStep(VirtualEnv,env={'PYTHONPATH':pythonpath},haltOnFailure=True) 135 147 f.addStep(EasyInstall,package=["Nose"]) 136 #f.addStep(DownloadSourceEE,package=name,env={'PYTHONPATH':pythonpath})137 #f.addStep(BuildEgg,upload=True,workdir="build/"+name[0],env={'PYTHONPATH':modifyppath(pythonpath,"..")})138 148 f.addStep(BuildEggEE,package=name, env={'PYTHONPATH':pythonpath}) 149 f.addStep(EasyInstall,env={'PYTHONPATH':pythonpath}, localinstall = True, haltOnFailure = True) 150 f.addStep(UploadEgg,env={'PYTHONPATH':pythonpath},package=name) 151 return f 152 153 def tg_ng_setupbuilder(pythonpath): 154 f = factory.BuildFactory() 155 f.addStep(CleanDir) 156 f.addStep(FileDownload,mastersrc="create-tgsetupng.py",slavedest="create-tgsetupng.py") 157 f.addStep(Python,script="create-tgsetupng.py",haltOnFailure=True) 158 f.addStep(Python,script="tgsetupng.py",script_args=["tg"],haltOnFailure=True) 139 159 return f 140 160 build/buildmaster/tg_mbuildsteps.py
r5009 r5024 53 53 54 54 class EasyInstall(BaseStep): 55 parms = BaseStep.parms + ['package','URL' ]55 parms = BaseStep.parms + ['package','URL','localinstall'] 56 56 def __init__(self, *args, **kwargs): 57 57 BaseStep.__init__(self, slave_name="EasyInstall", *args, **kwargs) … … 63 63 64 64 class BuildEgg(BaseStep): 65 parms = BaseStep.parms + ['upload']65 parms = BaseStep.parms 66 66 def __init__(self, *args, **kwargs): 67 67 BaseStep.__init__(self, slave_name="BuildEgg", *args, **kwargs) … … 73 73 74 74 class BuildEggEE(BaseStep): 75 parms = BaseStep.parms + [' upload','package']75 parms = BaseStep.parms + ['package'] 76 76 def __init__(self, *args, **kwargs): 77 77 BaseStep.__init__(self, slave_name="BuildEggEE", *args, **kwargs) … … 88 88 89 89 class Paver(BaseStep): 90 parms = BaseStep.parms + ['mode' ,'upload']90 parms = BaseStep.parms + ['mode'] 91 91 def __init__(self, *args, **kwargs): 92 92 BaseStep.__init__(self, slave_name="Paver", *args, **kwargs) … … 101 101 def __init__(self, *args, **kwargs): 102 102 BaseStep.__init__(self, slave_name="CleanDir", *args, **kwargs) 103 104 class UploadEgg(BaseStep): 105 parms = BaseStep.parms +['package'] 106 def __init__(self, *args, **kwargs): 107 BaseStep.__init__(self, slave_name="UploadEgg", *args, **kwargs) build/buildmaster/tg_sbuildsteps.py
r5010 r5024 15 15 def start(self): 16 16 args = self.args 17 assert args['package'] is not None17 #assert (args['package'] is not None) or (args['localinstall'] is not None) 18 18 19 19 env = args['env'] … … 33 33 newworkdir = correctseperator(args['workdir']) 34 34 workdir = os.path.join(self.builder.basedir,newworkdir) 35 36 if 'localinstall' in args and args['localinstall']: 37 if os.path.exists(os.path.join(workdir,'dist')): 38 workdir = os.path.join(workdir,'dist') 39 dir_content = os.listdir(workdir) 40 for element in dir_content: 41 if ".egg" in element and os.path.isfile(os.path.join(workdir,element)): 42 args['package'] = [os.path.join(workdir,element)] 43 35 44 36 45 if 'URL' in args: … … 38 47 else: 39 48 commandline = ["easy_install"]+ args['package'] 40 #commandline.remove(None)49 41 50 42 51 c = ShellCommand(self.builder, commandline, … … 280 289 281 290 if 'PATH' in env: 282 env['PATH'] = correctseperator(env['PATH']) 291 env['PATH'] = correctseperator(env['PATH']) 283 292 284 293 if os.path.sep == '\\': … … 358 367 env = args.get('env') 359 368 360 if 'PATH' in env: 361 env['PATH'] = correctseperator(env['PATH']) 369 newworkdir = correctseperator(args['workdir']) 370 371 372 362 373 363 374 if os.path.sep == '\\': 375 env['PATH'] = correctpathdepth(newworkdir) + 'scripts' + os.path.pathsep + os.getenv("PATH") 376 else: 377 env['PATH'] = correctpathdepth(newworkdir) + 'bin' + os.path.pathsep + os.getenv("PATH") 378 379 380 if 'PYTHONPATH' in env: 381 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 382 383 384 385 workdir = os.path.join(self.builder.basedir, newworkdir) 386 commandline = ["paver",args['mode']] 387 388 c = ShellCommand(self.builder, commandline, 389 workdir, env, 390 timeout=args.get('timeout', None), 391 sendStdout=args.get('want_stdout', True), 392 sendStderr=args.get('want_stderr', True), 393 sendRC=True, 394 initialStdin=args.get('initial_stdin'), 395 keepStdinOpen=args.get('keep_stdin_open'), 396 logfiles=args.get('logfiles', {}), 397 ) 398 self.command = c 399 d = self.command.start() 400 return d 401 registerSlaveCommand("Paver", SlavePaver, command_version) 402 403 class SlaveDownloadSourceEE(SlaveShellCommand): 404 def start(self): 405 args = self.args 406 assert 'package' in args 407 408 env = args.get('env') 409 410 411 if 'PATH' in env: 412 env['PATH'] = correctseperator(env['PATH']) 413 if os.sep == '\\': 364 414 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH") 365 415 else: … … 368 418 if 'PYTHONPATH' in env: 369 419 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH']) 370 371 newworkdir = correctseperator(args['workdir'])372 workdir = os.path.join(self.builder.basedir, newworkdir)373 374 commandline = ["paver",args['mode']]375 376 c = ShellCommand(self.builder, commandline,377 workdir, env,378 timeout=args.get('timeout', None),379 sendStdout=args.get('want_stdout', True),380 sendStderr=args.get('want_stderr', True),381 sendRC=True,382 initialStdin=args.get('initial_stdin'),383 keepStdinOpen=args.get('keep_stdin_open'),384 logfiles=args.get('logfiles', {}),385 )386 self.command = c387 d = self.command.start()388 return d389 registerSlaveCommand("Paver", SlavePaver, command_version)390 391 class SlaveDownloadSourceEE(SlaveShellCommand):392 def start(self):393 args = self.args394 assert 'package' in args395 396 env = args.get('env')397 398 399 if 'PATH' in env:400 env['PATH'] = correctseperator(env['PATH'])401 if os.sep == '\\':402 env['PATH'] = 'scripts' + os.path.pathsep + os.getenv("PATH")403 else:404 env['PATH'] = 'bin' + os.path.pathsep + os.getenv("PATH")405 406 if 'PYTHONPATH' in env:407 env['PYTHONPATH'] = correctseperator(env['PYTHONPATH'])408 420 newworkdir = correctseperator(args['workdir']) 409 421 … … 432 444 def start(self): 433 445 args = self.args 434 assert 'package' in args 446 435 447 436 448 env = {} … … 439 451 workdir = os.path.join(self.builder.basedir, newworkdir) 440 452 441 commandline = ["rm","-rf","*"] + args['package']453 commandline = ["rm","-rf","*"] 442 454 443 455 c = ShellCommand(self.builder, commandline, … … 455 467 return d 456 468 registerSlaveCommand("CleanDir", SlaveCleanDir, command_version) 469 470 class SlaveUploadEgg(SlaveShellCommand): 471 def start(self): 472 args = self.args 473 env = {} 474 newworkdir = correctseperator(args['workdir']) 475 workdir = os.path.join(self.builder.basedir, newworkdir) 476 searchdir = workdir 477 if os.path.exists(os.path.join(workdir,'dist')): 478 searchdir = os.path.join(workdir,'dist') 479 dir_content = os.listdir(searchdir) 480 for element in dir_content: 481 if ".egg" in element and os.path.isfile(os.path.join(searchdir,element)): 482 name = os.path.join(searchdir,element) 483 484 commandline = ["python","upload_script.py"] + args['package'] + [name] 485 486 c = ShellCommand(self.builder, commandline, 487 workdir, environ=env, 488 timeout=args.get('timeout', None), 489 sendStdout=args.get('want_stdout', True), 490 sendStderr=args.get('want_stderr', True), 491 sendRC=True, 492 initialStdin=args.get('initial_stdin'), 493 keepStdinOpen=args.get('keep_stdin_open'), 494 logfiles=args.get('logfiles', {}), 495 ) 496 self.command = c 497 d = self.command.start() 498 return d 499 registerSlaveCommand("UploadEgg", SlaveUploadEgg, command_version)