[Bf-blender-cvs] [554829d] master: Buildbot: rework to support branch selection.

Bastien Montagne noreply at git.blender.org
Wed Jul 23 19:03:38 CEST 2014


Commit: 554829dc9e4c9f5d55ec4a9b95c50a9b40a33e3b
Author: Bastien Montagne
Date:   Wed Jul 23 18:00:46 2014 +0200
Branches: master
https://developer.blender.org/rB554829dc9e4c9f5d55ec4a9b95c50a9b40a33e3b

Buildbot: rework to support branch selection.

Issue with previous code was that branch selected was applied to all repositories.
To be able to control branch on a per-repo basis, we need to use codebases instead.

This commit only enables branch (master/testbuild) and revision selection for master,
we probably do not need this for submodules currently (easy to enable anyway).

Note: tested on local buildbot setup, for linux only (up to build step, have no build env).

===================================================================

M	build_files/buildbot/master.cfg

===================================================================

diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index ff0c105..2e6663e 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -78,6 +78,25 @@ c['change_source'] = GitPoller(
        'git://git.blender.org/blender.git',
        pollinterval=1200)
 
+
+# CODEBASES
+#
+# Allow to controll separately things like branches for each repo and submodules.
+
+all_repositories = {
+    r'git://git.blender.org/blender.git': 'blender',
+    r'git://git.blender.org/blender-translations.git': 'blender-translations',
+    r'git://git.blender.org/blender-addons.git': 'blender-addons',
+    r'git://git.blender.org/blender-addons-contrib.git': 'blender-addons-contrib',
+    r'git://git.blender.org/scons.git': 'scons',
+}
+
+def codebaseGenerator(chdict):
+    return all_repositories[chdict['repository']]
+
+c['codebaseGenerator'] = codebaseGenerator
+
+
 # SCHEDULERS
 #
 # Decide how to react to incoming changes.
@@ -91,16 +110,30 @@ c['schedulers'] = []
 def schedule_force_build(name):
     c['schedulers'].append(forcesched.ForceScheduler(name='force ' + name,
         builderNames=[name],
-        branch=forcesched.ChoiceStringParameter(name="branch", choices=["master", "testbuild"], default="master"),
-        revision=forcesched.FixedParameter(name="revision", default=""),
-        repository=forcesched.FixedParameter(name="repository", default=""),
-        project=forcesched.FixedParameter(name="project", default=""),
+        codebases=[forcesched.CodebaseParameter(
+                codebase="blender",
+                branch=forcesched.ChoiceStringParameter(
+                    name="branch", choices=["master", "testbuild"], default="master"),
+                # Do not hide revision, can be handy!
+                repository=forcesched.FixedParameter(name="repository", default="", hide=True),
+                project=forcesched.FixedParameter(name="project", default="", hide=True)),
+            # For now, hide other codebases.
+            forcesched.CodebaseParameter(hide=True, codebase="blender-translations"),
+            forcesched.CodebaseParameter(hide=True, codebase="blender-addons"),
+            forcesched.CodebaseParameter(hide=True, codebase="blender-addons-contrib"),
+            forcesched.CodebaseParameter(hide=True, codebase="scons")],
         properties=[]))
 
 
 def schedule_build(name, hour, minute=0):
     c['schedulers'].append(timed.Nightly(name='nightly ' + name,
-        branch=None,  # default branch
+        codebases={
+            "blender": {"repository": ""},
+            "blender-translations": {"repository": ""},
+            "blender-addons": {"repository": ""},
+            "blender-addons-contrib": {"repository": ""},
+            "scons": {"repository": ""}},
+        branch=None,
         builderNames=[name],
         hour=hour,
         minute=minute))
@@ -154,7 +187,7 @@ def git_submodule_step(submodule):
     return Git(name=submodule + '.git',
                repourl='git://git.blender.org/' + submodule + '.git',
                mode='update',
-               branch='master',
+               codebase=submodule,
                workdir=submodule + '.git')
 
 
@@ -164,12 +197,14 @@ def git_step(branch=''):
                    repourl='git://git.blender.org/blender.git',
                    mode='update',
                    branch=branch,
+                   codebase='blender',
                    workdir='blender.git',
                    submodules=True)
     else:
         return Git(name='blender.git',
                    repourl='git://git.blender.org/blender.git',
                    mode='update',
+                   codebase='blender',
                    workdir='blender.git',
                    submodules=True)




More information about the Bf-blender-cvs mailing list