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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
categories = [
'repo_update',
'definitions_update_local-slave',
'definitions_update_arm-slave',
'build_complete',
'deploy_complete']
buildslave_scripts = 'git://cu010-trove.codethink.com/cu010-trove/br6/buildslave-scripts.git'
class Column:
def __init__(self,
name,
category,
trigger,
slavenames,
properties,
timeout=1200,
get_definitions=False):
self.name = name
self.category = category
self.trigger = 'triggers/%s' % trigger
self.slavenames = slavenames
self.properties = properties
self.timeout = timeout
self.get_definitions=get_definitions
from buildbot.process.factory import BuildFactory
from buildbot.steps.shell import ShellCommand
from buildbot.plugins import steps, util
self.util_properties = []
for property in self.properties:
self.util_properties.append(
util.Property(property[0],default=property[1]))
self.factory = BuildFactory()
self.factory.addStep(steps.Git(
repourl=buildslave_scripts,
mode='incremental'))
self.cmd = ['sh',self.trigger]+self.util_properties
if self.get_definitions:
sha = util.Property("sha","cu010-trove/br6/firehose-test-1")
get_defns_cmd = ['sh','get_definitions.sh',sha]
self.factory.addStep(ShellCommand(command=get_defns_cmd,timeout=self.timeout))
self.factory.addStep(ShellCommand(command=self.cmd,timeout=self.timeout))
columns = [
Column( name = "1. Integration",
category = "repo_update",
trigger = 'firehose_trigger.sh',
slavenames=["local-slave"],
properties = [('repo_name','no repo name given'),
('ref','no ref given')]),
Column( name = "2. x86_64 Build",
category = "definitions_update_local-slave",
trigger = 'builders_trigger.sh',
slavenames=["local-slave"],
properties = [("ref","cu010-trove/br6/firehose-test-1"),
("sha","HEAD"),
("system",'genivi-demo-platform-x86_64-generic.morph')],
timeout = 7200,
get_definitions = True),
Column( name = "3. ARM Build",
category = "definitions_update_arm-slave",
trigger = 'builders_trigger.sh',
slavenames=["arm-slave"],
properties = [("ref","cu010-trove/arm-base"),
("sha","HEAD"),
("system",'base-system-armv8l64.morph')],
timeout = 7200,
get_definitions = True),
Column( name = "4. x86_64 Deploy",
category = "build_complete",
trigger = 'deploy_trigger.sh',
slavenames=["local-slave"],
properties = [
('system','no system give'),
('buildnumber',0),
('buildslave_scripts_sha','no buildslave-scripts SHA given'),
('definitions_sha','no definitions SHA given'),
('testing_sha','no testing SHA given')],
timeout = 1800,
get_definitions = True),
Column( name = "5. Test",
category = "deploy_complete",
trigger = 'testing_trigger.sh',
slavenames=["local-slave"],
properties = [
('artefact','no artefact given'),
('testing_sha','no testing SHA given')])]
web_user = "codething"
web_user_password = "password"
definitions_base_ref = "refs/heads/cu010-trove/br6/genivi-demo-platform"
candidate_refs = {"refs/heads/cu010-trove/br6/firehose-test-1":"local-slave",
"refs/heads/cu010-trove/arm-base":"arm-slave"}
slaves = [
{'name':'local-slave','password':'pass'},
{'name':'arm-slave','password':'pass'}]
|