# -*- python -*- # ex: set syntax=python: ################################################################################### # This is the file configuration of the buildmaster used in the Simgrid project. # The buildmaster configuration object. c = BuildmasterConfig = {} # Gets bot from account module from account import bots c['bots'] = bots # Port number used by 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()) #################################################################################### ## Scheduler configuration # We use only one scheduling right now, a nightly one, which reruns everything # TODO: setup a rebuilder in response to CVS 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 nightly_scheduler = Nightly( "nightly", ["linux_amd64_pthreads_O3", "linux_amd64_ucontext_O3", "linux_i386_pthreads_O3", "linux_i386_ucontext_O3", "mac_os_x_pthreads", "mac_os_x_ucontext", "windows_builder"], hour=[12,24], minute=15) c['schedulers'] = [nightly_scheduler] now = Periodic("now", [ "linux_amd64_pthreads_O3", "linux_amd64_ucontext_O3", "linux_i386_pthreads_O3", "linux_i386_ucontext_O3", "mac_os_x_pthreads", "mac_os_x_ucontext", "windows_builder" ], 60*20*1) c['schedulers'] = [nightly_scheduler] #################################################################################### # builders declarations from buildbot import locks from buildbot.process import step, factory from extensions import CustomConfigure from buildbot.process.step import ShellCommand, CVS # the following lock manages the builds of the machine bob bob_lock = locks.MasterLock("bob_lock") # the following lock manages the builds of the machine artimon artimon_lock = locks.MasterLock("artimon_lock") # the following lock manages the builds of the machine blase blaise_lock = locks.MasterLock("blaise_lock") # the following lock manages the builds of the machine fastnet fastnet_lock = locks.MasterLock("fastnet_lock") # factories pthreads_factory= factory.BuildFactory() pthreads_factory.addStep(step.SVN, name ="{svn update}",baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update") pthreads_factory.addStep(step.ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",haltOnFailure = 1,command=["svn" ,"revert","-R","build"]) pthreads_factory.addStep(step.ShellCommand,name = "{configure}",command=["./configure", "--with-pthread", "--enable-botbuild"]) pthreads_factory.addStep(step.ShellCommand,name = "{make clean}",command=["make", "clean"]) pthreads_factory.addStep(step.ShellCommand,name = "{make}",command=["make","-j","4"]) pthreads_factory.addStep(step.ShellCommand,name ="{check all}",command=["./checkall"]) #pthreads_factory.addStep(step.ShellCommand,name ="{make distcheck}",command=["make", "distcheck"]) ucontext_factory= factory.BuildFactory() ucontext_factory.addStep(step.SVN, name ="{svn update}",baseURL='svn://scm.gforge.inria.fr/svn/simgrid/simgrid/', defaultBranch='trunk', mode="update") ucontext_factory.addStep(step.ShellCommand,name = "{svn revert}",description = "running svn revert",descriptionDone = "svn revert",haltOnFailure = 1,command=["svn" ,"revert","-R","build"]) ucontext_factory.addStep(CustomConfigure,name ="{configure}",command=["./configure", " --with-context=ucontext","--enable-botbuild"]) # Main difference with pthread_factory ucontext_factory.addStep(step.ShellCommand,name = "{make clean}",command=["make", "clean"]) ucontext_factory.addStep(step.ShellCommand,name = "{make}",command=["make","-j","4"]) ucontext_factory.addStep(step.ShellCommand,name = "{check all}",command=["./checkall"]) #ucontext_factory.addStep(step.ShellCommand,name = "{make distcheck}",command=["make", "distcheck"]) pthreads_factory_O3= factory.BuildFactory() pthreads_factory_O3.addStep(step.SVN, 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",haltOnFailure = 1,command=["svn" ,"revert","-R","build"]) pthreads_factory_O3.addStep(step.ShellCommand,name = "{configure}",description="running configure",descriptionDone="configure",haltOnFailure = 1,command=["./configure", "--with-pthread","--enable-compile-optimizations","--enable-botbuild"]) pthreads_factory_O3.addStep(step.ShellCommand,name = "{make clean}",description = "running make clean",descriptionDone = "make clean",haltOnFailure = 1,command=["make", "clean"]) pthreads_factory_O3.addStep(step.ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",haltOnFailure = 1,command=["make","-j","4"]) pthreads_factory_O3.addStep(step.ShellCommand,name ="{check all}",description = "running check all",descriptionDone ="check all",haltOnFailure = 1,command=["./checkall"]) #pthreads_factory_O3.addStep(step.ShellCommand,name ="{make distcheck}",description="running make distcheck",descriptionDone="make distcheck",haltOnFailure = 1,command=["make", "distcheck"]) ucontext_factory_O3= factory.BuildFactory() ucontext_factory_O3.addStep(step.SVN, 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",haltOnFailure = 1,command=["svn" ,"revert","-R","build"]) ucontext_factory_O3.addStep(CustomConfigure,name ="{configure}",description="running configure",descriptionDone="configure",haltOnFailure = 1,command=["./configure", "--with-context=ucontext","--enable-compile-optimizations","--enable-botbuild"]) # Main difference with pthread_factory ucontext_factory_O3.addStep(step.ShellCommand,name = "{make}",description = "running make",descriptionDone = "make",haltOnFailure = 1,command=["make"]) ucontext_factory_O3.addStep(step.ShellCommand,name = "{check all}",description = "running check all",descriptionDone ="check all",haltOnFailure = 1,command=["./checkall"]) #ucontext_factory_O3.addStep(step.ShellCommand,name = "{make distcheck}",description="running make distcheck",descriptionDone="make distcheck",haltOnFailure = 1,command=["make", "distcheck"]) 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 = 1,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 = 1,command=["C:\\buildslave\\projects\\simgrid\\builddir\\Test", "C:\\buildslave\\projects\\simgrid\\builddir\\test_all.tst"]) # builders c['builders'] = [ {'name':'linux_amd64_pthreads_O3', 'slavename':'bob_pthreads', 'builddir':'/var/lib/buildbot/simgrid/linux_amd64_pthreads/builddir_O3', 'factory':pthreads_factory_O3, 'locks': [bob_lock]}, {'name':'linux_amd64_ucontext_O3', 'slavename':'bob_ucontext', 'builddir':'/var/lib/buildbot/simgrid/linux_amd64_ucontext/builddir_O3', 'factory':ucontext_factory_O3, 'locks': [bob_lock]}, {'name':'mac_os_x_pthreads', 'slavename':'fastnet_pthreads', 'builddir':'/var/buildbot/simgrid/mac_os_x_pthreads/builddir', 'factory':pthreads_factory_O3, 'locks': [fastnet_lock]}, {'name':'mac_os_x_ucontext', 'slavename':'fastnet_ucontext', 'factory':ucontext_factory_O3, 'builddir':'/var/buildbot/simgrid/mac_os_x_ucontext/builddir', 'locks': [fastnet_lock]}, {'name':'windows_builder', 'slavename':'windows_slave', 'builddir':"C:\\buildslave\\projects\\simgrid\\builddir", 'factory':windows_factory}, {'name':'linux_i386_pthreads_O3', 'slavename':'artimon_pthreads', 'builddir':'/var/lib/buildbot/simgrid/linux_i386_pthreads/builddir_O3', 'factory':pthreads_factory_O3, 'locks': [artimon_lock]}, {'name':'linux_i386_ucontext_O3', 'slavename':'artimon_ucontext', 'builddir':'/var/lib/buildbot/simgrid/linux_i386_ucontext/builddir_O3', 'factory':ucontext_factory_O3, 'locks': [artimon_lock]} ] # status html page 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)) # Project informations c['projectName'] = "SimGrid compilation status" c['projectURL']= "http://simgrid.gforge.inria.fr/" #c['projectURL'] = "http://bob.loria.fr:8010/" c['buildbotURL'] = "http://bob.loria.fr:8010/"