3 from buildbot.buildslave import BuildSlave
4 from buildbot.scheduler import Nightly
5 from buildbot.process import factory
6 from buildbot.steps.shell import Compile, ShellCommand
7 from buildbot.steps import source
8 from buildbot.status import html
10 # ------------------------------------------------------------------------------------------------------------------------------------------------
12 def bbot_build_oe_target(factory, target):
13 factory.addStep(ShellCommand, description=["Building", defaultenv['MACHINE'], target], command=["/home/buildbot/scripts/full-oe-autobuild", target], env=copy.copy(defaultenv), timeout=10000)
15 def bbot_initialize_factory(factory, clean_tmp=False, repository="git://git.openembedded.net/openembedded", branch="stable/2009"):
16 factory.addStep(source.Git(repourl=repository, branch=branch, mode='update'))
19 factory.addStep(ShellCommand, description=["Cleaning", "tmp"], command="/bin/rm tmp || /bin/true", timeout=600)
21 factory.addStep(ShellCommand, description=["Cleaning", "previous", "targets"], command="/bin/rm tmp/deploy/*/images/*/*rootfs* || /bin/true", timeout=600)
22 factory.addStep(ShellCommand, description=["Cleaning", "previous", "targets", "step 2"], command="/bin/rm -rf tmp/deploy/*/images/*/*testlab* || /bin/true", timeout=600)
24 # ------------------------------------------------------------------------------------------------------------------------------------------------
28 machines_glibc = ['at91sam9263ek', 'beagleboard', 'qemux86', 'vortex86sx', 'bug']
29 machines_uclibc = ['at91sam9263ek', 'beagleboard', 'qemux86', 'atngw100', 'bug']
31 targets_glibc = ['console-image', 'x11-image']
32 targets_uclibc = ['console-image', 'x11-image']
34 angstrom_glibc_incremental_build = factory.BuildFactory()
35 bbot_initialize_factory(angstrom_glibc_incremental_build)
36 defaultenv['ANGSTROMLIBC'] = 'glibc'
38 for machine in machines_glibc:
39 defaultenv['MACHINE'] = machine
40 for target in targets_glibc:
41 bbot_build_oe_target(angstrom_glibc_incremental_build, target)
43 angstrom_glibc_full_build = factory.BuildFactory()
44 bbot_initialize_factory(angstrom_glibc_full_build, True)
45 defaultenv['ANGSTROMLIBC'] = 'glibc'
47 for machine in machines_glibc:
48 defaultenv['MACHINE'] = machine
49 for target in targets_glibc:
50 bbot_build_oe_target(angstrom_glibc_full_build, target)
52 angstrom_uclibc_incremental_build = factory.BuildFactory()
53 bbot_initialize_factory(angstrom_uclibc_incremental_build)
54 defaultenv['ANGSTROMLIBC'] = 'uclibc'
56 for machine in machines_uclibc:
57 defaultenv['MACHINE'] = machine
58 for target in targets_uclibc:
59 bbot_build_oe_target(angstrom_uclibc_incremental_build, target)
61 angstrom_uclibc_full_build = factory.BuildFactory()
62 bbot_initialize_factory(angstrom_uclibc_full_build, True)
63 defaultenv['ANGSTROMLIBC'] = 'uclibc'
65 for machine in machines_uclibc:
66 defaultenv['MACHINE'] = machine
67 for target in targets_uclibc:
68 bbot_build_oe_target(angstrom_uclibc_full_build, target)
70 # ------------------------------------------------------------------------------------------------------------------------------------------------
72 config = BuildmasterConfig = {}
74 config['projectName'] = "HaeRWu buildbot"
75 config['buildbotURL'] = "http://localhost:8010/"
77 config['slaves'] = [BuildSlave("homeQuad", "BOT-PASSWORD")]
78 Config['slavePortnum'] = 9989
80 config['schedulers'] = []
82 config['schedulers'].append(Nightly(name="Angstrom glibc full build",
83 hour=23, minute=0, dayOfWeek=[0,2,4],
84 builderNames=["angstrom_glibc_full_build"]))
86 config['schedulers'].append(Nightly(name="Angstrom glibc incremental build",
87 hour=5, minute=0, dayOfWeek=[0,2,4],
88 builderNames=["angstrom_glibc_incremental_build"]))
90 config['schedulers'].append(Nightly(name="Angstrom uclibc full build",
91 hour=23, minute=0, dayOfWeek=[1,3,5],
92 builderNames=["angstrom_uclibc_full_build"]))
94 config['schedulers'].append(Nightly(name="Angstrom uclibc incremental build",
95 hour=5, minute=0, dayOfWeek=[1,3,5],
96 builderNames=["angstrom_uclibc_incremental_build"]))
99 #---------------------------------------------------------------------
102 'name': "angstrom_glibc_full_build",
103 'slavename': "homeQuad",
104 'builddir': "angstrom_glibc_full_build",
105 'factory': angstrom_glibc_full_build,
109 'name': "angstrom_glibc_incremental_build",
110 'slavename': "homeQuad",
111 'builddir': "angstrom_glibc_incremental_build",
112 'factory': angstrom_glibc_incremental_build,
115 'name': "angstrom_uclibc_full_build",
116 'slavename': "homeQuad",
117 'builddir': "angstrom_uclibc_full_build",
118 'factory': angstrom_uclibc_full_build,
122 'name': "angstrom_uclibc_incremental_build",
123 'slavename': "homeQuad",
124 'builddir': "angstrom_uclibc_incremental_build",
125 'factory': angstrom_uclibc_incremental_build,
128 config['builders'] = [build_agf, build_agi, build_auf, build_aui ]
129 config['status'] = []
130 config['debugPassword'] = ""
132 config['status'].append(html.WebStatus(http_port=8010, allowForce=True))
133 config['status'].append(html.WebStatus(http_port=8011, allowForce=False))