diff options
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | builders.py | 2 | ||||
-rw-r--r-- | fabfile/common.py | 29 | ||||
-rw-r--r-- | fabfile/master.py | 39 | ||||
-rw-r--r-- | fabfile/slave.py | 34 |
5 files changed, 57 insertions, 50 deletions
@@ -1,3 +1,4 @@ check: pep8 $(CURDIR) - pylint --reports=n --disable=C,W,R,E,F --enable=W0611 $(CURDIR)/*.py + pylint --reports=n --disable=C,W,R,E,F --enable=W0611 \ + *.py fabfile diff --git a/builders.py b/builders.py index c466369..a0688b0 100644 --- a/builders.py +++ b/builders.py @@ -101,7 +101,7 @@ def setup(c, config): for name, info in config["slaves"].items(): env = {"SUGAR_BUILDBOT": name} - factory = create_factory(config, env=env, + factory = create_factory(config, env=env, distribute=config.get("distribute", False), upload_docs=info.get("upload_docs", False)) diff --git a/fabfile/common.py b/fabfile/common.py new file mode 100644 index 0000000..ca79b65 --- /dev/null +++ b/fabfile/common.py @@ -0,0 +1,29 @@ +instances = {"master": + {"slavedir": "slave", + "config": + {"distribute": True, + "nightly_builds": True, + "slaves_port": 9989, + "snapshot": True, + "web_port": 8080}}, + "master-testing": + {"slavedir": "slave-testing", + "config": + {"branch": "testing", + "check_system": False, + "slaves_port": 9990, + "sub_repos_changes": False, + "web_port": 8081}}} + +slaves = {"buildbot@debian-wheezy-32bit.local": "debian-wheezy-32bit", + "buildbot@debian-wheezy-64bit.local": "debian-wheezy-64bit", + "buildbot@fedora-17-32bit.local": "fedora-17-32bit", + "buildbot@fedora-17-64bit.local": "fedora-17-64bit", + "buildbot@fedora-18-32bit.local": "fedora-18-32bit", + "buildbot@fedora-18-64bit.local": "fedora-18-64bit", + "buildbot@ubuntu-12-10-32bit.local": "ubuntu-12-10-32bit", + "buildbot@ubuntu-12-10-64bit.local": "ubuntu-12-10-64bit"} + +slave_gateway = "dnarvaez@bender.sugarlabs.org" + +activate_virtualenv = "source sandbox/bin/activate" diff --git a/fabfile/master.py b/fabfile/master.py index 0f04859..cc2a8f9 100644 --- a/fabfile/master.py +++ b/fabfile/master.py @@ -16,25 +16,10 @@ from fabric.api import roles from fabric.api import with_settings from fabric.api import settings -from slave import slaves -from slave import slave_gateway - -instances = {"master": - {"slavedir": "slave", - "config": - {"distribute": True, - "nightly_builds": True, - "slaves_port": 9989, - "snapshot": True, - "web_port": 8080}}, - "master-testing": - {"slavedir": "slave-testing", - "config": - {"branch": "testing", - "check_system": False, - "slaves_port": 9990, - "sub_repos_changes": False, - "web_port": 8081}}} +from common import slaves +from common import slave_gateway +from common import instances + repos = ["git://git.sugarlabs.org/sugar-buildbot/sugar-buildbot.git", "git://git.sugarlabs.org/sugar-build/sugar-build.git"] @@ -46,6 +31,7 @@ env.roledefs["master"] = ["dnarvaez@shell.sugarlabs.org"] master_settings = {"sudo_user": "buildbot", "sudo_prefix": "sudo -H"} + @task @roles("master") @with_settings(**master_settings) @@ -57,13 +43,14 @@ def create(): with prefix(activate_virtualenv): sudo("pip install SQLAlchemy==0.7.9") sudo("pip install buildbot") - + for basedir in instances.keys(): sudo("rm -rf ~/%s" % basedir) sudo("buildbot create-master ~/%s" % basedir) execute(update) + @task @roles("master") @with_settings(**master_settings) @@ -77,10 +64,10 @@ def update(): sudo("git clone %s" % url) for basedir in instances.keys(): - with cd("~/git/sugar-buildbot"): + with cd("~/git/sugar-buildbot"): sudo("cp *.py master.cfg ~/%s" % basedir) - with cd("~/git/sugar-build"): + with cd("~/git/sugar-build"): sudo("cp -R config/modules ~/%s" % basedir) @@ -96,7 +83,7 @@ def configure(): config.update(info["config"]) tac = StringIO.StringIO() - + for host, name in slaves.items(): with settings(host_string=host, gateway=slave_gateway): get(os.path.join(info["slavedir"], "buildbot.tac"), tac) @@ -118,7 +105,7 @@ def configure(): @with_settings(**master_settings) def start(basedir="master"): with prefix(activate_virtualenv): - sudo("buildbot start ~/%s" % basedir) + sudo("buildbot start ~/%s" % basedir) @task @@ -126,7 +113,7 @@ def start(basedir="master"): @with_settings(**master_settings) def stop(basedir="master"): with prefix(activate_virtualenv): - sudo("buildbot stop ~/%s" % basedir) + sudo("buildbot stop ~/%s" % basedir) @task @@ -134,4 +121,4 @@ def stop(basedir="master"): @with_settings(**master_settings) def restart(basedir="master"): with prefix(activate_virtualenv): - sudo("buildbot restart ~/%s" % basedir) + sudo("buildbot restart ~/%s" % basedir) diff --git a/fabfile/slave.py b/fabfile/slave.py index fda98b6..8d2df3d 100644 --- a/fabfile/slave.py +++ b/fabfile/slave.py @@ -9,26 +9,16 @@ from fabric.api import env from fabric.api import prefix from fabric.api import put from fabric.api import roles -from fabric.api import with_settings +from fabric.api import with_settings -slaves = {"buildbot@debian-wheezy-32bit.local": "debian-wheezy-32bit", - "buildbot@debian-wheezy-64bit.local": "debian-wheezy-64bit", - "buildbot@fedora-17-32bit.local": "fedora-17-32bit", - "buildbot@fedora-17-64bit.local": "fedora-17-64bit", - "buildbot@fedora-18-32bit.local": "fedora-18-32bit", - "buildbot@fedora-18-64bit.local": "fedora-18-64bit", - "buildbot@ubuntu-12-10-32bit.local": "ubuntu-12-10-32bit", - "buildbot@ubuntu-12-10-64bit.local": "ubuntu-12-10-64bit"} +from common import slaves +from common import slave_gateway +from common import instances +from common import activate_virtualenv -slave_gateway = "dnarvaez@bender.sugarlabs.org" - -instances = {"slave": 9989, - "slave-testing": 9990} admin = "Daniel Narvaez <dwnarvaez@gmail.com>" -activate_virtualenv = "source sandbox/bin/activate" - env.roledefs["slave"] = slaves.keys() settings = {"gateway": slave_gateway} @@ -49,14 +39,14 @@ def create(): run("pip install buildbot-slave") name = slaves[env.host_string] - - for basedir, port in instances.items(): + + for basedir, info in instances.items(): run("rm -rf %s" % basedir) run("buildslave create-slave %s " "buildbot.sugarlabs.org:%d " - "%s %s" % (basedir, port, name, password)) - + "%s %s" % (basedir, info["slave_port"], name, password)) + put(StringIO.StringIO(admin), os.path.join(basedir, "info", "admin")) put(StringIO.StringIO(name), @@ -68,7 +58,7 @@ def create(): @with_settings(**settings) def start(basedir="slave"): with prefix(activate_virtualenv): - run("buildslave start %s" % basedir) + run("buildslave start %s" % basedir) @task @@ -76,7 +66,7 @@ def start(basedir="slave"): @with_settings(**settings) def stop(basedir="slave"): with prefix(activate_virtualenv): - run("buildslave stop %s" % basedir) + run("buildslave stop %s" % basedir) @task @@ -84,4 +74,4 @@ def stop(basedir="slave"): @with_settings(**settings) def restart(basedir="slave"): with prefix(activate_virtualenv): - run("buildslave restart %s" % basedir) + run("buildslave restart %s" % basedir) |