Skip to content

Instantly share code, notes, and snippets.

@hgenru
Last active August 29, 2015 13:56
Show Gist options
  • Save hgenru/9201835 to your computer and use it in GitHub Desktop.
Save hgenru/9201835 to your computer and use it in GitHub Desktop.
# -*- python -*-
# encoding: utf-8
# ex: set syntax=python:
from libs import project
from os.path import expanduser
from buildbot.buildslave import BuildSlave
from buildbot.changes.filter import ChangeFilter
from buildbot.config import BuilderConfig
from buildbot.process.factory import BuildFactory
from buildbot.schedulers.basic import SingleBranchScheduler
from buildbot.schedulers.forcesched import ForceScheduler
from buildbot.steps.master import MasterShellCommand
# Init project
SU = project.Project("SelfUpdate")
# Slave
SU["slaves"] = [BuildSlave(SU.gen_name("slave"), "update_me_now")]
# Factory
update_factory = BuildFactory()
update_factory.addStep(
MasterShellCommand(
command=("cd ~/build-master;"
"git fetch --all;"
"git reset --hard origin/master;"
"buildbot reconfig;")))
# Builders
SU["builders"] = []
SU["builders"].append(
BuilderConfig(
name=SU.gen_name("builder"),
slavebuilddir=expanduser("~"),
slavenames=[SU.gen_name("slave")],
category="infrastructure",
factory=update_factory))
# Sheluders
SU['schedulers'] = []
SU['schedulers'].append(
ForceScheduler(
name=SU.gen_name("scheduler", "force"),
builderNames=[SU.gen_name("builder")]))
SU['schedulers'].append(
SingleBranchScheduler(
name=SU.gen_name("scheduler", "gerrit"),
change_filter=ChangeFilter(
project='buildbot', category='change-merged'),
builderNames=[SU.gen_name("builder")]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment