From 919dab55f8c5673494148598f744c1f462910969 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Tue, 22 Jun 2010 11:08:20 -0400 Subject: [PATCH] adjust build scripts for git --- build-conf-planetlab.py | 38 +++++++++++++++++++++----------------- run-nightlies.py | 21 ++++++++++++++++----- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/build-conf-planetlab.py b/build-conf-planetlab.py index f24f325d..b93a232e 100755 --- a/build-conf-planetlab.py +++ b/build-conf-planetlab.py @@ -1,5 +1,4 @@ #!/usr/bin/python - ### # Nightly build spec HOWTO # @@ -18,22 +17,29 @@ # on the current build spec. e.g. in this case, it would be to the effect of lambda (build): if (build['fcdistro']=='f10') then ['linux32','linux64'] else ['linux32'] # +#caglar_k32_build = { +# 'tags':'planetlab-k32-tags.mk', +# 'fcdistro':['f12', 'centos5','f8'], +# 'personality':['linux32','linux64'], +# 'test':0, +# 'release':'k32' +#} + +sapans_k27_build = { + 'tags':'planetlab-k27-tags.mk', + 'fcdistro':['f12', 'centos5','f8'], + 'personality':['linux32','linux64'], + 'test':0, + 'release':'k27' +} -marcs_trunk_build = { +marcs_k22_build = { 'tags':'planetlab-tags.mk', - 'fcdistro':['centos5','f8'], + 'fcdistro':['f12', 'centos5','f8'], 'personality':['linux32','linux64'], 'test': 0, 'release':'k22', } - -sapans_k27_build = { - 'tags':'k27-tags.mk', - 'fcdistro':['centos5','f8'], - 'personality':'linux32', - 'test':1, - 'release':'k27' -} ### # @@ -47,9 +53,9 @@ __flag_to_test__={0:'-B', 1:''} def __check_out_build_script__(build): import os - tmpname = os.popen('mktemp /tmp/'+build['build-script']+'.XXXXXX').read().rstrip('\n') - os.system("svn cat %s/%s > %s 2>/dev/null"%(build['svnpath'],build['build-script'],tmpname)) - return tmpname + tmpname = os.popen('mktemp -d /tmp/'+build['build-script']+'.XXXXXX').read().rstrip('\n') + os.system("git clone --depth 1 %s %s" % (scmpath, tmpname)) + return "%s/%s" % (tmpname, build['build-script']) def __today__(): import datetime @@ -70,15 +76,13 @@ __default_build__ = { 'webpath':'/vservers/build.planet-lab.org/var/www/html/install-rpms/archive', 'pldistro':'planetlab', 'date': __today__(), - 'svnpath':'http://svn.planet-lab.org/svn/build/trunk', + 'scmpath':'git://git.planet-lab.org/build.git', 'personality':'linux32', 'myplcversion':'4.3', - ### Parameters with dependencies: define paramater mappings as lambdas here 'arch':lambda build: __personality_to_arch__[build['personality']], 'runtests':lambda build: __flag_to_test__[build['test']], 'vbuildnightly':lambda build: __check_out_build_script__(build) - } diff --git a/run-nightlies.py b/run-nightlies.py index 01b30366..3c8035c4 100755 --- a/run-nightlies.py +++ b/run-nightlies.py @@ -3,6 +3,11 @@ import os import re +import shlex +import subprocess +import time + +PARALLEL_BUILD = False # Assemble a list of builds from a single build spec def interpret_build(build, param_names, current_concrete_build={}, concrete_build_list=[]): @@ -42,13 +47,13 @@ def concrete_build_to_commandline(concrete_build): cmdline = '''%(sh)s %(vbuildnightly)s - -b %(pldistro)s-%(fcdistro)s-%(arch)s-%(myplcversion)s-%(release)s-%(date)s + -b pl-%(fcdistro)s-%(arch)s-%(myplcversion)s-%(release)s-%(date)s -f %(fcdistro)s -m %(mailto)s -p %(personality)s -r %(webpath)s - -s %(svnpath)s - -t %(tags)s + -s %(scmpath)s + -t %(tags)s -w %(webpath)s/%(pldistro)s/%(fcdistro)s %(runtests)s'''.replace('\n','') @@ -76,8 +81,14 @@ def process_builds (builds, build_names, default_build): concrete_builds = map(reduce_dependencies, concrete_builds_without_deps) commandlines = map(concrete_build_to_commandline, concrete_builds) for commandline in commandlines: - os.system(commandline) - + if PARALLEL_BUILD == True: + args = shlex.split(commandline) + subprocess.Popen(args) + # workaround the vserver race + time.sleep(60) + else: + os.system(commandline) + def main(): config_file = '/etc/build-conf-planetlab.py' builds = {} -- 2.47.0