Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add a dist builder, which simply makes an archive to be distributed
[simgrid.git] / build / buildbot / master / master.cfg
index 4a904c1..3012b27 100644 (file)
 
 c = BuildmasterConfig = {}
 
-# Gets bot from account module
+# Project informations
+
+c['projectName'] = "SimGrid compilation status"
+c['projectURL']= "http://simgrid.gforge.inria.fr/"
+c['buildbotURL'] = "http://bob.loria.fr:8010/"
+
+# Gets bot from account module (hide passphrases)
 from account import bots
 c['bots'] = bots
+from account import all_slaves
 
 
 # Port number used by slaves
@@ -50,42 +57,6 @@ c['sources'] = []
 
 
 
-####################################################################################
-## Scheduler configuration
-
-# 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
-
-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
 
@@ -94,10 +65,28 @@ from buildbot.process import step, factory
 from buildbot.process.step import ShellCommand
 
 # factories
+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",
+                     environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","."])
+dist_factory.addStep(step.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",
+                     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",
+                     environ={"LC_ALL":"C"}, haltOnFailure = True,command=["make","dist"])
+
+
 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",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","build"])
+                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","."])
 pthreads_factory_O3.addStep(step.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",
@@ -106,11 +95,11 @@ pthreads_factory_O3.addStep(step.ShellCommand,name = "{make}",      description
                             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",
-                            environ={"LC_ALL":"C"}, haltOnFailure = True,command=["svn" ,"revert","-R","build"])
+                            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",
@@ -133,6 +122,11 @@ fastnet_lock = locks.MasterLock("fastnet_lock")
 
 # builders
 c['builders'] = [    
+     {'name':'dist builder',
+     'slavename':'bob_dist_worker',
+     'builddir':'/var/lib/buildbot/simgrid/dist-worker',
+     'factory':dist_factory},
+     
      {'name':'linux_amd64_pthreads_O3',
      'slavename':'bob_pthreads',
      'builddir':'/var/lib/buildbot/simgrid/linux_amd64_pthreads/builddir_O3',
@@ -288,8 +282,26 @@ c['status'].append(mail.MailNotifier(builders=['linux_i386_ucontext_O3'],
   extraRecipients=["malek.cherier@loria.fr", "martin.quinson@loria.fr"],
   sendToInterestedUsers=True))                                                                            
 
-# Project informations
+####################################################################################
+## Scheduler configuration
+
+# 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
+
+
+#nightly_scheduler = Nightly(
+#       "nightly",    # name
+#       all_slaves,   # defined in account.py
+#       hour=[12,24], # schedule time
+#       minute=15)          
+
+#hourly = Periodic("hourly_scheduler", all_slaves, 60*60*2) # delay in seconds
+
+#c['schedulers'] = [nightly_scheduler,hourly]
+c['schedulers'] = []
+
 
-c['projectName'] = "SimGrid compilation status"
-c['projectURL']= "http://simgrid.gforge.inria.fr/"
-c['buildbotURL'] = "http://bob.loria.fr:8010/"