Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
supurious commit to try to get an automatic build in response
[simgrid.git] / build / buildbot / master / master.cfg
index 3012b27..fb83b5d 100644 (file)
@@ -27,91 +27,68 @@ from account import all_slaves
 c['slavePortnum'] = 9989
 
 
-####### CHANGESOURCES
-
-# the 'sources' list tells the buildmaster how it should find out about
-# source code changes. Any class which implements IChangeSource can be added
-# to this list: there are several in buildbot/changes/*.py to choose from.
-
-c['sources'] = []
-
-# For example, if you had CVSToys installed on your repository, and your
-# CVSROOT/freshcfg file had an entry like this:
-#pb = ConfigurationSet([
-#    (None, None, None, PBService(userpass=('foo', 'bar'), port=4519)),
-#    ])
-
-# then you could use the following buildmaster Change Source to subscribe to
-# the FreshCVS daemon and be notified on every commit:
-#
-#from buildbot.changes.freshcvs import FreshCVSSource
-#fc_source = FreshCVSSource("cvs.example.com", 4519, "foo", "bar")
-#c['sources'].append(fc_source)
-
-# or, use a PBChangeSource, and then have your repository's commit script run
-# 'buildbot sendchange', or contrib/svn_buildbot.py, or
-# contrib/arch_buildbot.py :
-#
-#from buildbot.changes.pb import PBChangeSource
-#c['sources'].append(PBChangeSource())
-
-
 
 ####################################################################################
 # builders declarations
 
 from extensions import CustomSVN, CustomConfigure, CustomCheck
-from buildbot.process import step, factory
-from buildbot.process.step import ShellCommand
+from buildbot.process import factory
+from buildbot.steps.transfer import FileUpload
+from buildbot.steps.shell import ShellCommand
+from buildbot.steps.source import SVN
 
-# factories
+# 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")
-dist_factory.addStep(step.ShellCommand,name ="clean oldies",description = "removing old archives", descriptionDone ="clean oldies",
-                     flunkOnFailure=False,command=["bash","-c","rm -rfv simgrid-*-svn-r*"])
-dist_factory.addStep(step.ShellCommand,name = "svn revert",description = "reverting the SVN",descriptionDone = "svn revert",
+dist_factory.addStep(ShellCommand,name ="clean oldies",description = "removing old archives", descriptionDone ="clean oldies",
+                     flunkOnFailure=False,command=["bash","-c","rm -rfv simgrid-*-svn-r* *.tar.gz build/*tar.gz"])
+dist_factory.addStep(ShellCommand,name = "svn revert",description = "reverting the SVN",descriptionDone = "svn revert",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","."])
-dist_factory.addStep(step.ShellCommand,name = "bootstrap",description = "bootstraping",descriptionDone = "bootstrap",
+dist_factory.addStep(ShellCommand,name = "bootstrap",description = "bootstraping",descriptionDone = "bootstrap",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./bootstrap"])
-dist_factory.addStep(step.ShellCommand,name = "configure", description="configuring",   descriptionDone="configure",
+dist_factory.addStep(ShellCommand,name = "configure", description="configuring",   descriptionDone="configure",
                      environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure", "--enable-maintainer-mode"])
-dist_factory.addStep(step.ShellCommand,name = "make clean",description = "running make clean",descriptionDone = "make clean",
-                     environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make", "clean"])
-dist_factory.addStep(step.ShellCommand,name = "make ", description = "building everything",  descriptionDone = "make",
-                     environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","-j","4"])
-dist_factory.addStep(step.ShellCommand,name = "make dist", description = "building archive",  descriptionDone = "make dist",
+#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 = "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))
 
-
+# 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(step.ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",
+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(step.ShellCommand,name = "{configure}", description="running configure",   descriptionDone="configure",
+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(step.ShellCommand,name = "{make clean}",description = "running make clean",descriptionDone = "make clean",
+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(step.ShellCommand,name = "{make}",      description = "running make",      descriptionDone = "make",
+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",
                             haltOnFailure = True,command=["./checkall"])
                             
 ucontext_factory_O3= factory.BuildFactory()
 ucontext_factory_O3.addStep(CustomSVN, name ="{svn update}",baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
-ucontext_factory_O3.addStep(step.ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",
+ucontext_factory_O3.addStep(ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",
                             environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","."])
 ucontext_factory_O3.addStep(CustomConfigure,name ="{configure}",description="running configure",descriptionDone="configure",
                             environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./configure", "--with-context=ucontext","--enable-compile-warnings","--enable-compile-optimizations","--enable-botbuild"]) # Main difference with pthread_factory
-ucontext_factory_O3.addStep(step.ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",
+ucontext_factory_O3.addStep(ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",
                             environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make"])
 ucontext_factory_O3.addStep(CustomCheck,name = "{check all}",description = "running check all",descriptionDone ="check all",
                             environ={"LC_ALL":"C"}, haltOnFailure = True,command=["./checkall"])
 
 
 windows_factory= factory.BuildFactory()
-windows_factory.addStep(step.SVN, name ="{svn update}",baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
-windows_factory.addStep(step.ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",haltOnFailure = True,command=["C:\\buildslave\\projects\\simgrid\\builddir\\buildMake", "C:\\buildslave\\projects\\simgrid\\builddir\\make_all.tst"])
-windows_factory.addStep(step.ShellCommand,name = "{test suite}",description= "running test suite",descriptionDone ="test suite",haltOnFailure = True,command=["C:\\buildslave\\projects\\simgrid\\builddir\\Test", "C:\\buildslave\\projects\\simgrid\\builddir\\test_all.tst"])
+windows_factory.addStep(SVN, name ="{svn update}",baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update")
+windows_factory.addStep(ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",haltOnFailure = True,command=["C:\\buildslave\\projects\\simgrid\\builddir\\buildMake", "C:\\buildslave\\projects\\simgrid\\builddir\\make_all.tst"])
+windows_factory.addStep(ShellCommand,name = "{test suite}",description= "running test suite",descriptionDone ="test suite",haltOnFailure = True,command=["C:\\buildslave\\projects\\simgrid\\builddir\\Test", "C:\\buildslave\\projects\\simgrid\\builddir\\test_all.tst"])
 
 
 # One lock per machine since some tests open sockets on fixed ports
@@ -122,7 +99,7 @@ fastnet_lock = locks.MasterLock("fastnet_lock")
 
 # builders
 c['builders'] = [    
-     {'name':'dist builder',
+     {'name':'distBuilder',
      'slavename':'bob_dist_worker',
      'builddir':'/var/lib/buildbot/simgrid/dist-worker',
      'factory':dist_factory},
@@ -138,8 +115,6 @@ c['builders'] = [
      'builddir':'/var/lib/buildbot/simgrid/linux_amd64_ucontext/builddir_O3',
      'factory':ucontext_factory_O3,
      'locks': [bob_lock]},
-
-
      
      {'name':'linux_i386_pthreads_O3',
      'slavename':'artimon_pthreads',
@@ -176,111 +151,34 @@ c['builders'] = [
      ]
 
 
-# status html page
+####### CHANGESOURCES
+
+# 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)
+
+# Once we have a change, build a tarball
+
+from buildbot import scheduler
+maketarball = scheduler.Scheduler(name="maketarball", branch=None, treeStableTimer=1, builderNames=['distBuilder'])
+
+c['schedulers'] = [maketarball]
+
+
+# status targets
 
 c['status'] = []
 
 from buildbot.status import html
-w = html.Waterfall(http_port=8010)
-
-c['status'].append(w)
-
-# status smtp request
-
-from buildbot.status import mail
-
-c['status'].append(mail.MailNotifier(builders=['mac_os_x_pthreads'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during pthread build of SimGrid on fastnet",
-  extraRecipients=["malek.cherier@loria.fr","martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-
-c['status'].append(mail.MailNotifier(builders=['mac_os_x_ucontext'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during ucontext build of SimGrid on fastnet",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-
-
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_pthreads'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during pthread build of SimGrid on bob",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_pthreads_O0'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during pthread build of SimGrid on bob (compiler optimizations O0 enabled)",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_pthreads_O3'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during pthread build of SimGrid on bob (compiler optimizations O3 enabled)",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_ucontext'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during ucontext build of SimGrid on bob",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))  
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_ucontext_O0'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing (compiler optimizations O0 enabled)",
-  subject = "Error occured during ucontext build of SimGrid on bob",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))  
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_amd64_ucontext_O3'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "Error occured during ucontext build of SimGrid on bob  (compiler optimizations O3 enabled)",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))  
-                                     
-c['status'].append(mail.MailNotifier(builders=['windows_builder'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on Windows platform",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_pthreads'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_pthreads_O0'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform (compiler optimizations O0 enabled)" ,
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_pthreads_O3'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform (compiler optimizations O3 enabled)" ,
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_ucontext'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_ucontext_O0'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform (compiler optimizations O0 enabled)",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))
-                                      
-c['status'].append(mail.MailNotifier(builders=['linux_i386_ucontext_O3'],
-  fromaddr="bob@loria.fr",relayhost="smtp.loria.fr",mode="failing",
-  subject = "An error occurs during the build of SimGRID on artimon platform (compiler optimizations O3 enabled)",
-  extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
-  sendToInterestedUsers=True))                                                                            
+c['status'].append( html.Waterfall(http_port=8010) )
+
+from buildbot.status import words                                       
+c['status'].append(words.IRC(host="irc.oftc.net", nick="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'])
+c['status'].append(mn)
 
 ####################################################################################
 ## Scheduler configuration