Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/schedulers.py
blob: 5d2d665ff8a9b0b645f78a09b7623552e00a1488 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from buildbot.schedulers.basic import SingleBranchScheduler
from buildbot.schedulers.forcesched import ForceScheduler
from buildbot.schedulers.timed import Nightly
from buildbot.changes.filter import ChangeFilter

import repos


def setup(c, config):
    c["schedulers"] = []

    change_filter = ChangeFilter(project="sugar-build")
    slave_names = config["slaves"].keys()

    quick_builders = ["%s-quick" % name for name in slave_names]
    full_builders = ["%s-full" % name for name in slave_names]

    all_builders = []
    all_builders.extend(quick_builders)
    all_builders.extend(full_builders)

    codebases = {"sugar-build": {"repository": config["repo"]},
                 "osbuild": {repository:
                             "https://github.com/dnarvaez/osbuild.git"}}

    for repo in repos.get_sub_repos():
        codebases[repo.name] = {"repository": repo.url}

    scheduler = SingleBranchScheduler(name="quick",
                                      codebases=codebases,
                                      change_filter=change_filter,
                                      builderNames=quick_builders)
    c["schedulers"].append(scheduler)

    if config.get("nightly_builds", False):
        c['schedulers'].append(Nightly(name="nightly",
                                       codebases=codebases,
                                       branch=config.get("branch", "master"),
                                       builderNames=full_builders,
                                       hour=2,
                                       minute=0))

    c["schedulers"].append(ForceScheduler(name="force",
                                          codebases=codebases,
                                          builderNames=all_builders))