Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get the SVN poller working, use the real archive name (with revision in it), get...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 10 Nov 2008 22:35:15 +0000 (22:35 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 10 Nov 2008 22:35:15 +0000 (22:35 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6022 48e7efb5-ca39-0410-a469-dd3cf9ba447f

build/buildbot/master/master.cfg

index bcf94cf..6f8be01 100644 (file)
@@ -33,10 +33,11 @@ c['slavePortnum'] = 9989
 
 from extensions import CustomSVN, CustomConfigure, CustomCheck
 from buildbot.process import factory
 
 from extensions import CustomSVN, CustomConfigure, CustomCheck
 from buildbot.process import factory
-from buildbot.steps.transfer import FileUpload
+from buildbot.steps.transfer import FileUpload,FileDownload
 from buildbot.steps.shell import ShellCommand
 from buildbot.steps.source import SVN
 from buildbot.steps.shell import ShellCommand
 from buildbot.steps.source import SVN
-
+from buildbot.process.properties import WithProperties
+     
 # build tarball factory
 dist_factory = factory.BuildFactory()
 dist_factory.addStep(CustomSVN, name ="svn update", baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
 # build tarball factory
 dist_factory = factory.BuildFactory()
 dist_factory.addStep(CustomSVN, name ="svn update", baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
@@ -48,29 +49,27 @@ dist_factory.addStep(ShellCommand,name = "bootstrap",description = "bootstraping
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./bootstrap"])
 dist_factory.addStep(ShellCommand,name = "configure", description="configuring",   descriptionDone="configure",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure", "--enable-maintainer-mode"])
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./bootstrap"])
 dist_factory.addStep(ShellCommand,name = "configure", description="configuring",   descriptionDone="configure",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure", "--enable-maintainer-mode"])
-#dist_factory.addStep(ShellCommand,name = "make clean",description = "running make clean",descriptionDone = "make clean",
-#                     environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make", "clean"])
 dist_factory.addStep(ShellCommand,name = "make -C src", description = "building src",  descriptionDone = "make -C src",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4","-C","src"])
 dist_factory.addStep(ShellCommand,name = "make -C tools", description = "building tools",  descriptionDone = "make -C tools",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4","-C","tools"])
 dist_factory.addStep(ShellCommand,name = "make dist", description = "building archive",  descriptionDone = "make dist",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","dist"])
 dist_factory.addStep(ShellCommand,name = "make -C src", description = "building src",  descriptionDone = "make -C src",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4","-C","src"])
 dist_factory.addStep(ShellCommand,name = "make -C tools", description = "building tools",  descriptionDone = "make -C tools",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4","-C","tools"])
 dist_factory.addStep(ShellCommand,name = "make dist", description = "building archive",  descriptionDone = "make dist",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","dist"])
-dist_factory.addStep(ShellCommand,name = "Prepare archive",descriptionDone="Prepare archive", haltOnFailure = True,command=["bash","-c","ln -s simgrid-*.tar.gz simgrid-svn-lastest.tar.gz"])
-dist_factory.addStep(FileUpload(name="Upload archive",slavesrc="simgrid-svn-lastest.tar.gz",masterdest="simgrid-svn-lastest.tar.gz",haltOnFailure = True))
+dist_factory.addStep(FileUpload(name="Upload archive",haltOnFailure = True,
+                                slavesrc= WithProperties("simgrid-3.3-svn-r%sM.tar.gz", "got_revision"),
+                                masterdest=WithProperties("simgrid-3.3-svn-r%sM.tar.gz", "got_revision")))
 
 
+archive = "simgrid-3.3-svn-r%(revision:-)sM.tar.gz"
 # Test tarball factories
 pthreads_factory_O3= factory.BuildFactory()
 # Test tarball factories
 pthreads_factory_O3= factory.BuildFactory()
-pthreads_factory_O3.addStep(CustomSVN, name ="{svn update}", baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
-pthreads_factory_O3.addStep(ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","."])
-pthreads_factory_O3.addStep(ShellCommand,name = "{configure}", description="running configure",   descriptionDone="configure",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure",  "--with-pthread","--enable-compile-warnings","--enable-compile-optimizations","--enable-botbuild"])
-pthreads_factory_O3.addStep(ShellCommand,name = "{make clean}",description = "running make clean",descriptionDone = "make clean",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make", "clean"])
-pthreads_factory_O3.addStep(ShellCommand,name = "{make}",      description = "running make",      descriptionDone = "make",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4"])
-pthreads_factory_O3.addStep(CustomCheck,name ="{check all}",        description = "running check all", descriptionDone ="check all",
+pthreads_factory_O3.addStep(ShellCommand,name="cleanup",descriptionDone="cleanup",command=["bash","-c","rm -rf * .svn"])
+pthreads_factory_O3.addStep(FileDownload(name="get archive",haltOnFailure=True,slavedest=WithProperties(archive),mastersrc=WithProperties(archive)))
+pthreads_factory_O3.addStep(ShellCommand, name ="open archive",descriptionDone="open archive", command=["tar","xvfz",WithProperties(archive),"--strip","1"])
+pthreads_factory_O3.addStep(ShellCommand,name = "configure", description="running configure",   descriptionDone="configure",
+                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure",  "--with-pthread","--enable-compile-warnings","--enable-compile-optimizations"])
+pthreads_factory_O3.addStep(ShellCommand,name = "make",      description = "running make",      descriptionDone = "make",
+                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","10"])
+pthreads_factory_O3.addStep(CustomCheck,name ="check all",        description = "running check all", descriptionDone ="check all",
                             haltOnFailure = True,command=["./checkall"])
                             
 ucontext_factory_O3= factory.BuildFactory()
                             haltOnFailure = True,command=["./checkall"])
                             
 ucontext_factory_O3= factory.BuildFactory()
@@ -155,12 +154,12 @@ c['builders'] = [
 
 # Get changes from SVN, by polling every 60 seconds
 from buildbot.changes.svnpoller import SVNPoller
 
 # Get changes from SVN, by polling every 60 seconds
 from buildbot.changes.svnpoller import SVNPoller
-c['change_source'] = SVNPoller("svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk", pollinterval=60)
+c['change_source'] = SVNPoller("svn://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk", pollinterval=600)
 
 # Once we have a change, build a tarball
 
 from buildbot import scheduler
 
 # Once we have a change, build a tarball
 
 from buildbot import scheduler
-maketarball = scheduler.Scheduler(name="maketarball", branch=None, treeStableTimer=1, builderNames=['distBuilder'])
+maketarball = scheduler.Scheduler(name="maketarball", branch=None, treeStableTimer=60, builderNames=['distBuilder'])
 
 c['schedulers'] = [maketarball]
 
 
 c['schedulers'] = [maketarball]
 
@@ -169,6 +168,9 @@ c['schedulers'] = [maketarball]
 
 c['status'] = []
 
 
 c['status'] = []
 
+# TODO: move to modernity here (but write an index.html for that)
+#from buildbot.status.html import WebStatus
+#c['status'].append(WebStatus(8010))
 from buildbot.status import html
 c['status'].append( html.Waterfall(http_port=8010) )
 
 from buildbot.status import html
 c['status'].append( html.Waterfall(http_port=8010) )
 
@@ -176,8 +178,8 @@ from buildbot.status import words
 c['status'].append(words.IRC(host="irc.oftc.net", nick="simgrid_buildbot", channels=["#simgrid"]))
 
 from buildbot.status.mail import MailNotifier
 c['status'].append(words.IRC(host="irc.oftc.net", nick="simgrid_buildbot", channels=["#simgrid"]))
 
 from buildbot.status.mail import MailNotifier
-mn = MailNotifier(fromaddr="SimGrid buildbot <sg-dev@lists.gforge.inria.fr>",
-                  sendToInterestedUsers=False, extraRecipients=['martin.quinson@loria.fr'])
+mn = MailNotifier(fromaddr="sg-dev@lists.gforge.inria.fr",
+                  sendToInterestedUsers=False, addLogs=True, extraRecipients=['martin.quinson@loria.fr'])
 c['status'].append(mn)
 
 ####################################################################################
 c['status'].append(mn)
 
 ####################################################################################
@@ -185,12 +187,10 @@ c['status'].append(mn)
 
 # We use only one scheduling right now, a nightly one, which reruns everything
 
 
 # We use only one scheduling right now, a nightly one, which reruns everything
 
-# TODO: setup a rebuilder in response to SVN commits
 # TODO: Define a list of all slaves and use it here and in the definition of c['builders']
 
 from buildbot.scheduler import Scheduler, Nightly, Periodic
 
 # TODO: Define a list of all slaves and use it here and in the definition of c['builders']
 
 from buildbot.scheduler import Scheduler, Nightly, Periodic
 
-
 #nightly_scheduler = Nightly(
 #       "nightly",    # name
 #       all_slaves,   # defined in account.py
 #nightly_scheduler = Nightly(
 #       "nightly",    # name
 #       all_slaves,   # defined in account.py