Mercurial > octave-buildbot
annotate master.cfg @ 37:f42084477c28
Use different branches for building MXE Octave release and stable or default.
* master.cfg: Use the "release" branch of the MXE Octave repository to build
Octave release or stable. Use the "default" branch of the MXE Octave
repository to build Octave default (or native builds).
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Wed, 24 Feb 2021 16:31:00 +0100 |
parents | 2e1359850798 |
children | 6d7c3a59c1e7 |
rev | line source |
---|---|
0 | 1 ## -*- python -*- |
2 ## ex: set syntax=python: | |
3 | |
4 ## This is a sample buildmaster config file. It must be installed as | |
5 ## 'master.cfg' in your buildmaster's base directory. | |
6 | |
7 ## This is the dictionary that the buildmaster pays attention to. We | |
8 ## also use a shorter alias to save typing. | |
9 | |
10 c = BuildmasterConfig = {} | |
11 | |
12 ## WORKERS | |
13 | |
14 ## The 'worker' list defines the set of recognized workers. Each | |
15 ## element is a Worker object, specifying a unique worker name and | |
16 ## password. The same worker name and password must be configured on | |
17 ## the worker. | |
18 | |
19 from buildbot.worker import Worker | |
20 | |
8
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
21 ## The octave_buildbot_config file imported below is not in hg archive because |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
22 ## it contains password and system configuration info. |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
23 ## |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
24 ## This file defines two variables, workers and master_id_and_pass, with |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
25 ## the following format: |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
26 ## |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
27 ## workers = {"worker-name-0": |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
28 ## {"pass": "worker-0-password", |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
29 ## "max_builds": 3, |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
30 ## "desc": "info about worker-0"}, |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
31 ## "worker-name-1": |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
32 ## {"pass": "worker-1-password", |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
33 ## "max_builds": 3, |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
34 ## "desc": "info about worker-1"}, |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
35 ## ...} |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
36 ## |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
37 ## master_id_and_pass = {"master-login-id" : "master-password"} |
e02079ee69d1
master.cfg: add info about config file
John W. Eaton <jwe@octave.org>
parents:
6
diff
changeset
|
38 |
0 | 39 import octave_buildbot_config |
40 | |
41 c["workers"] = [] | |
42 | |
14
24e67c30e215
syntax update for buildbot 2.7
John W. Eaton <jwe@octave.org>
parents:
13
diff
changeset
|
43 for worker, info in octave_buildbot_config.workers.items (): |
0 | 44 c["workers"].append (Worker (worker, info["pass"], max_builds = info["max_builds"])) |
45 | |
46 ## 'protocols' contains information about protocols which master will | |
47 ## use for communicating with workers. You must define at least 'port' | |
48 ## option that workers could connect to your master with this protocol. | |
49 ## 'port' must match the value configured into the workers (with | |
50 ## their --master option) | |
51 | |
52 c["protocols"] = { "pb" : { "port" : 9990 }} | |
53 | |
54 ## SOURCES | |
55 | |
56 ## The main mercurial repository server. This machines pings the | |
57 ## PBChangeSource. The workers should pull from it, to make | |
58 ## sure they are in sync. | |
59 | |
60 octave_hg_repo = "https://hg.savannah.gnu.org/hgweb/octave" | |
16
b2e9c6f7d3e5
use savannah for both stable and default branches of octave
John W. Eaton <jwe@octave.org>
parents:
15
diff
changeset
|
61 stable_octave_hg_repo = "https://hg.savannah.gnu.org/hgweb/octave" |
0 | 62 mxe_octave_hg_repo = "http://hg.octave.org/mxe-octave" |
63 | |
64 ## CHANGESOURCES | |
65 | |
66 ## the 'change_source' setting tells the buildmaster how it should | |
67 ## find out about source code changes. Here we point to the buildbot | |
68 ## clone of Octave. | |
69 | |
70 from buildbot.changes.hgpoller import HgPoller | |
71 | |
72 c["change_source"] = [] | |
73 | |
74 c["change_source"].append (HgPoller (project = "octave", | |
75 repourl = octave_hg_repo, | |
76 workdir = "octave-hg-repo", | |
77 pollinterval = 5*60)) | |
78 | |
79 c["change_source"].append (HgPoller (project = "stable octave", | |
80 branch = "stable", | |
81 repourl = stable_octave_hg_repo, | |
82 workdir = "stable-octave-hg-repo", | |
83 pollinterval = 5*60)) | |
84 | |
85 c["change_source"].append (HgPoller (project = "mxe-octave", | |
86 repourl = mxe_octave_hg_repo, | |
87 workdir = "mxe-octave-hg-repo", | |
88 pollinterval = 15*60)) | |
89 | |
90 ## FILTERS | |
91 | |
92 from buildbot.changes import filter | |
93 | |
94 octave_default_filter = filter.ChangeFilter (project = "octave", branch = "default") | |
95 | |
96 octave_stable_filter = filter.ChangeFilter (project = "stable octave", branch = "stable") | |
97 | |
98 mxe_octave_default_filter = filter.ChangeFilter (project = "mxe-octave", branch = "default") | |
99 | |
100 ## SCHEDULERS | |
101 | |
102 ## Configure the Schedulers, which decide how to react to incoming | |
103 ## changes. | |
104 | |
105 from buildbot.schedulers.basic import SingleBranchScheduler | |
106 from buildbot.schedulers.forcesched import ForceScheduler | |
107 from buildbot.schedulers import timed | |
108 | |
109 all_default_octave_builders = []; | |
110 all_default_octave_builders.append ("gcc-6-debian") # mtmx | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
111 all_default_octave_builders.append ("gcc-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
112 all_default_octave_builders.append ("gcc-lto-debian") # jwe-debian-x86_64-5 |
0 | 113 all_default_octave_builders.append ("gcc-fedora") # das |
114 all_default_octave_builders.append ("gcc-lto-fedora") # das | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
115 all_default_octave_builders.append ("no-extras-debian") # jwe-debian-x86_64-5 |
0 | 116 all_default_octave_builders.append ("clang-3.9-debian") # mtmx |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
117 all_default_octave_builders.append ("clang-debian") # jwe-debian-x86_64-1 |
0 | 118 all_default_octave_builders.append ("clang-fedora") # das |
119 all_default_octave_builders.append ("clang-osx") # simone | |
120 | |
121 all_stable_octave_builders = []; | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
122 all_stable_octave_builders.append ("stable-gcc-debian") # jwe-debian-x86_64-4 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
123 all_stable_octave_builders.append ("stable-gcc-lto-debian") # jwe-debian-x86_64-4 |
0 | 124 all_stable_octave_builders.append ("stable-gcc-fedora") # das |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
125 all_stable_octave_builders.append ("stable-no-extras-debian") # jwe-debian-x86_64-4 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
126 all_stable_octave_builders.append ("stable-clang-debian") # jwe-debian-x86_64-1 |
13
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
127 all_stable_octave_builders.append ("stable-clang-fedora") # das |
0 | 128 all_stable_octave_builders.append ("stable-clang-osx") # simone |
129 | |
130 all_mxe_octave_builders = []; | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
131 all_mxe_octave_builders.append ("w32-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
132 all_mxe_octave_builders.append ("w64-32-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
133 all_mxe_octave_builders.append ("w64-64-on-debian") # jwe-debian-x86_64-4 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
134 all_mxe_octave_builders.append ("w32-release-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
135 all_mxe_octave_builders.append ("w64-32-release-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
136 all_mxe_octave_builders.append ("w64-64-release-on-debian") # jwe-debian-x86_64-4 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
137 all_mxe_octave_builders.append ("w32-stable-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
138 all_mxe_octave_builders.append ("w64-32-stable-on-debian") # jwe-debian-x86_64-5 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
139 all_mxe_octave_builders.append ("w64-64-stable-on-debian") # jwe-debian-x86_64-4 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
140 all_mxe_octave_builders.append ("mxe-native-on-debian") # jwe-debian-x86_64-1 |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
141 all_mxe_octave_builders.append ("mxe-native-all-on-debian") # jwe-debian-x86_64-3 |
0 | 142 |
143 c["schedulers"] = [] | |
144 | |
145 c["schedulers"].append (SingleBranchScheduler (name = "default octave", | |
146 change_filter = octave_default_filter, | |
147 treeStableTimer = 5*60, | |
148 builderNames = all_default_octave_builders)) | |
149 | |
20 | 150 ### DISABLED because there doesn't seem to be a way to limit this |
151 ### action to users logged in to the web interface; instead, forcing | |
152 ### builds is allowed for anyone. WTF!?! | |
153 ### c["schedulers"].append (ForceScheduler (name = "force_default_octave", builderNames = all_default_octave_builders)) | |
0 | 154 |
155 c["schedulers"].append (SingleBranchScheduler (name = "stable octave", | |
156 change_filter = octave_stable_filter, | |
157 treeStableTimer = 5*60, | |
158 builderNames = all_stable_octave_builders)) | |
159 | |
20 | 160 ### DISABLED because there doesn't seem to be a way to limit this |
161 ### action to users logged in to the web interface; instead, forcing | |
162 ### builds is allowed for anyone. WTF!?! | |
163 ### c["schedulers"].append (ForceScheduler (name = "force_stable_octave", builderNames = all_stable_octave_builders)) | |
0 | 164 |
165 ## Here, branch is the mxe-octave branch. | |
166 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32", | |
167 branch = "default", | |
168 change_filter = mxe_octave_default_filter, | |
169 builderNames = ["w32-on-debian"], | |
170 hour = 0)) | |
171 | |
172 ## Here, branch is the mxe-octave branch. | |
173 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32", | |
174 branch = "default", | |
175 change_filter = mxe_octave_default_filter, | |
176 builderNames = ["w64-32-on-debian"], | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
177 hour = 0)) |
0 | 178 |
179 ## Here, branch is the mxe-octave branch. | |
180 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64", | |
181 branch = "default", | |
182 change_filter = mxe_octave_default_filter, | |
183 builderNames = ["w64-64-on-debian"], | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
184 hour = 0)) |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
185 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
186 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
187 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32-release", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
188 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
189 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
190 builderNames = ["w32-release-on-debian"], |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
191 hour = 8)) |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
192 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
193 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
194 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32-release", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
195 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
196 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
197 builderNames = ["w64-32-release-on-debian"], |
27
6e6cec148a95
load balancing changes for jwe workers
John W. Eaton <jwe@octave.org>
parents:
26
diff
changeset
|
198 hour = 8)) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
199 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
200 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
201 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64-release", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
202 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
203 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
204 builderNames = ["w64-64-release-on-debian"], |
27
6e6cec148a95
load balancing changes for jwe workers
John W. Eaton <jwe@octave.org>
parents:
26
diff
changeset
|
205 hour = 8)) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
206 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
207 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
208 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32-stable", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
209 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
210 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
211 builderNames = ["w32-stable-on-debian"], |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
212 hour = 16)) |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
213 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
214 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
215 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32-stable", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
216 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
217 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
218 builderNames = ["w64-32-stable-on-debian"], |
27
6e6cec148a95
load balancing changes for jwe workers
John W. Eaton <jwe@octave.org>
parents:
26
diff
changeset
|
219 hour = 16)) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
220 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
221 ## Here, branch is the mxe-octave branch. |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
222 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64-stable", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
223 branch = "default", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
224 change_filter = mxe_octave_default_filter, |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
225 builderNames = ["w64-64-stable-on-debian"], |
27
6e6cec148a95
load balancing changes for jwe workers
John W. Eaton <jwe@octave.org>
parents:
26
diff
changeset
|
226 hour = 16)) |
0 | 227 |
228 ## Here, branch is the mxe-octave branch. | |
229 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native", | |
230 branch = "default", | |
231 change_filter = mxe_octave_default_filter, | |
232 builderNames = ["mxe-native-on-debian"], | |
28
8d18da2f836f
minor tweak for mxe-native start times
John W. Eaton <jwe@octave.org>
parents:
27
diff
changeset
|
233 hour = 8)) |
0 | 234 |
235 ## Here, branch is the mxe-octave branch. | |
236 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native-all", | |
237 branch = "default", | |
238 change_filter = mxe_octave_default_filter, | |
239 builderNames = ["mxe-native-all-on-debian"], | |
28
8d18da2f836f
minor tweak for mxe-native start times
John W. Eaton <jwe@octave.org>
parents:
27
diff
changeset
|
240 hour = 0)) |
0 | 241 |
20 | 242 ### DISABLED because there doesn't seem to be a way to limit this |
243 ### action to users logged in to the web interface; instead, forcing | |
244 ### builds is allowed for anyone. WTF!?! | |
245 ### c["schedulers"].append (ForceScheduler (name = "force_mxe_octave", builderNames = all_mxe_octave_builders)) | |
0 | 246 |
247 ## BUILDERS | |
248 | |
249 ## The 'builders' list defines the Builders, which tell Buildbot how | |
250 ## to perform a build: what steps, and which workers can execute them. | |
251 ## Note that any particular build will only take place on one worker. | |
252 | |
253 from buildbot.process.factory import BuildFactory | |
254 from buildbot.steps.source.mercurial import Mercurial | |
255 from buildbot.steps.shell import ShellCommand | |
256 from buildbot.steps.shell import Configure | |
257 from buildbot.steps.shell import Compile | |
258 from buildbot.steps.shell import Test | |
259 | |
260 ## Steps we may use in more than one build factory. | |
261 | |
262 def build_cmd_list (cmd, nice = 0, opts = []): | |
263 cmd_list = [] | |
264 | |
265 if nice != 0: | |
266 cmd_list.extend (["nice", "-n", str (nice)]) | |
267 | |
268 if isinstance (cmd, list): | |
269 cmd_list.extend (cmd) | |
270 else: | |
271 cmd_list.append (cmd) | |
272 | |
273 if isinstance (opts, list): | |
274 cmd_list.extend (opts) | |
275 else: | |
276 cmd_list.append (opts) | |
277 | |
278 return cmd_list | |
279 | |
280 | |
281 build_env = { "PATH" : "${HOME}/bin:${PATH}" }; | |
282 | |
283 def mk_octave_hg_update_step (repo, branch): | |
284 return Mercurial (repourl = repo, | |
285 defaultBranch = branch, branchType = "inrepo", | |
286 workdir = "src", mode = "full", method = "fresh", | |
287 haltOnFailure = True) | |
288 | |
289 def mk_octave_bootstrap_step (nice = 0): | |
290 boot_cmd = build_cmd_list ("./bootstrap", nice = nice) | |
291 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env, | |
292 description = "bootstrap") | |
293 | |
294 sh_rm_build_dir = ShellCommand (command = ["rm", "-rf", "build"], workdir = ".", | |
295 env = build_env, description = "clean build dir") | |
296 | |
297 sh_mk_build_dir = ShellCommand (command = ["mkdir", "build"], | |
298 description = "create build dir") | |
299 | |
300 def mk_octave_configure_step (nice = 0, opts = []): | |
301 conf_cmd = build_cmd_list ("../src/configure", nice = nice, opts = opts) | |
302 return Configure (command = conf_cmd, workdir = "build", env = build_env) | |
303 | |
304 | |
36
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
305 def mk_octave_compile_step (nice = 0, opts = [], xvfb = True): |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
306 if xvfb: |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
307 cmd = ["xvfb-run", "-a", "-s", "-screen 0 640x480x24"] |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
308 else: |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
309 cmd = [] |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
310 cmd.extend (["make", "V=1"]) |
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
311 make_cmd = build_cmd_list (cmd, nice = nice, opts = opts) |
0 | 312 return Compile (command = make_cmd, workdir = "build", env = build_env, |
313 warningPattern = ":[0-9][0-9]*:[0-9][0-9]*:warning: ") | |
314 | |
315 import re | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
316 from buildbot.process import logobserver |
0 | 317 from buildbot.process.results import SUCCESS |
318 from buildbot.process.results import FAILURE | |
319 from buildbot.process.results import WARNINGS | |
320 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
321 class octave_test_observer (logobserver.LogLineObserver): |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
322 |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
323 def __init__ (self, warningPattern): |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
324 logobserver.LogLineObserver.__init__ (self) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
325 if warningPattern: |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
326 self.warningPattern = re.compile (warningPattern) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
327 else: |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
328 self.warningPattern = None |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
329 self.rc = SUCCESS |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
330 self.total = 0 |
2 | 331 self.passed = 0 |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
332 self.failed = 0 |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
333 self.warnings = 0 |
12
318c34f152fb
attempt to also notice segfaults as errors
Markus Mützel <markus.muetzel@gmx.de>
parents:
11
diff
changeset
|
334 self.errors = 0 |
2 | 335 self.summary_found = False |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
336 self.complete = False |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
337 |
2 | 338 summaryRe = re.compile (r"^Summary: *$") |
339 testsRe = re.compile (r"^ *(PASS|FAIL|REGRESSION|XFAIL|SKIP)[^\d]*(\d+)") | |
21
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
340 fatalRe = re.compile (r"[Ff][Aa][Tt][Aa][Ll]") |
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
341 |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
342 def outLineReceived (self, line): |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
343 if self.warningPattern.match (line): |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
344 self.warnings += 1 |
2 | 345 |
346 if not self.summary_found: | |
347 mo = self.summaryRe.search (line) | |
348 if mo: | |
349 self.summary_found = True | |
350 return | |
351 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
352 mo = self.testsRe.search (line) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
353 if mo: |
2 | 354 typ = mo.group(1) |
355 num = int (mo.group(2)) | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
356 self.total += num |
2 | 357 if typ == "PASS": |
358 self.passed += num | |
359 if typ == "FAIL" or typ == "REGRESSION": | |
360 if num > 0: | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
361 self.rc = FAILURE |
2 | 362 self.failed += num |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
363 |
19
e7bc00398e25
Make "errLineReceived" a method of "octave_test_observer" (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
18
diff
changeset
|
364 def errLineReceived (self, line): |
21
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
365 mo = self.fatalRe.search (line) |
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
366 if mo: |
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
367 self.total += 1 |
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
368 self.errors += 1 |
58667d78ead7
errLineReceived: Try to only count fatal errors (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
20
diff
changeset
|
369 self.rc = FAILURE |
19
e7bc00398e25
Make "errLineReceived" a method of "octave_test_observer" (bug #58393).
Markus Mützel <markus.muetzel@gmx.de>
parents:
18
diff
changeset
|
370 |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
371 |
0 | 372 class octave_test (Test): |
373 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
374 def __init__ (self, *args, **kwargs): |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
375 Test.__init__ (self, *args, **kwargs) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
376 self.observer = octave_test_observer (warningPattern = self.warningPattern) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
377 self.addLogObserver ('stdio', self.observer) |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
378 |
0 | 379 def evaluateCommand (self, cmd): |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
380 if self.observer.total: |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
381 passed = self.observer.total - self.observer.failed |
0 | 382 |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
383 self.setTestResults (total = self.observer.total, |
12
318c34f152fb
attempt to also notice segfaults as errors
Markus Mützel <markus.muetzel@gmx.de>
parents:
11
diff
changeset
|
384 failed = self.observer.failed + self.observer.errors, |
2 | 385 passed = self.observer.passed, |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
386 warnings = self.observer.warnings) |
0 | 387 |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
388 rc = self.observer.rc |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
389 if rc == SUCCESS and self.observer.warnings: |
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
390 rc = WARNINGS |
0 | 391 return rc |
392 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
393 |
0 | 394 def mk_octave_test_step (nice = 0, xvfb = True): |
395 if xvfb: | |
396 cmd = ["xvfb-run", "-a", "-s", "-screen 0 640x480x24"] | |
397 else: | |
398 cmd = [] | |
399 cmd.extend (["make", "V=1", "check"]) | |
400 test_cmd = build_cmd_list (cmd, nice = nice) | |
401 return octave_test (command = test_cmd, workdir = "build", env = build_env) | |
402 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
403 |
0 | 404 def mk_octave_factory (nice, configure_opts, compile_opts, branch, xvfb = True): |
405 factory = BuildFactory () | |
406 | |
407 factory.addStep (mk_octave_hg_update_step (octave_hg_repo, branch)) | |
408 factory.addStep (mk_octave_bootstrap_step (nice = nice)) | |
409 factory.addStep (sh_rm_build_dir) | |
410 factory.addStep (sh_mk_build_dir) | |
411 factory.addStep (mk_octave_configure_step (nice = nice, opts = configure_opts)) | |
36
2e1359850798
execute compile step with xvfb-run
John W. Eaton <jwe@octave.org>
parents:
35
diff
changeset
|
412 factory.addStep (mk_octave_compile_step (nice = nice, opts = compile_opts, xvfb = xvfb)) |
0 | 413 factory.addStep (mk_octave_test_step (nice = nice, xvfb = xvfb)) |
414 | |
415 return factory | |
416 | |
1
97e7b7963dc9
make test log filtering work again
John W. Eaton <jwe@octave.org>
parents:
0
diff
changeset
|
417 |
0 | 418 def mk_gcc_factory (nice, compile_opts, branch): |
419 return mk_octave_factory (nice, [], compile_opts, branch) | |
420 | |
421 | |
422 def mk_gcc_4_9_factory (nice, compile_opts, branch): | |
423 return mk_octave_factory (nice, | |
424 ["CC=gcc-4.9", "CXX=g++-4.9", "F77=gfortran-4.9", "--without-magick"], | |
425 compile_opts, branch) | |
426 | |
427 | |
428 ## Default build. | |
429 def mk_gcc_5_factory (nice, compile_opts, branch): | |
430 return mk_octave_factory (nice, | |
431 ["CC=gcc-5", "CXX=g++-5", "F77=gfortran-5"], | |
432 compile_opts, branch) | |
433 | |
434 | |
435 def mk_gcc_6_factory (nice, compile_opts, branch): | |
436 return mk_octave_factory (nice, | |
437 ["CC=gcc-6", "CXX=g++-6", "F77=gfortran-6"], | |
438 compile_opts, branch) | |
30
97e41899e7cb
remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents:
29
diff
changeset
|
439 |
0 | 440 |
441 def mk_gcc_7_factory (nice, compile_opts, branch): | |
442 return mk_octave_factory (nice, | |
443 ["CC=gcc-7", "CXX=g++-7", "F77=gfortran-7"], | |
444 compile_opts, branch) | |
30
97e41899e7cb
remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents:
29
diff
changeset
|
445 |
0 | 446 |
447 def mk_gcc_7_lto_factory (nice, compile_opts, branch): | |
448 return mk_octave_factory (nice, | |
449 ["CC=gcc-7", "CXX=g++-7", "F77=gfortran-7", | |
450 "CFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
451 "CXXFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
452 "FFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
453 "LDFLAGS=-flto=4", | |
454 "NM=gcc-nm-7", "AR=gcc-ar-7", "RANLIB=gcc-ranlib-7"], | |
455 compile_opts, branch) | |
30
97e41899e7cb
remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents:
29
diff
changeset
|
456 |
0 | 457 |
458 def mk_gcc_lto_factory (nice, compile_opts, branch): | |
459 return mk_octave_factory (nice, | |
460 ["CFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
461 "CXXFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
462 "FFLAGS=-O2 -flto=4 -ffat-lto-objects", | |
463 "LDFLAGS=-flto=4", | |
464 "NM=gcc-nm", "AR=gcc-ar", "RANLIB=gcc-ranlib"], | |
465 compile_opts, branch) | |
30
97e41899e7cb
remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents:
29
diff
changeset
|
466 |
0 | 467 |
468 no_extras = ["--disable-docs", | |
469 "--disable-fftw-threads", | |
470 "--disable-java", | |
471 "--disable-jit", | |
472 "--disable-openmp", | |
473 "--disable-readline", | |
29
819a898b1960
no-extras factory: Add more switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
28
diff
changeset
|
474 "--disable-rapidjson", |
0 | 475 "--without-amd", |
476 "--without-arpack", | |
477 "--without-bz2", | |
478 "--without-camd", | |
479 "--without-ccolamd", | |
480 "--without-cholmod", | |
481 "--without-colamd", | |
482 "--without-curl", | |
483 "--without-cxsparse", | |
484 "--without-fftw3", | |
485 "--without-fftw3f", | |
486 "--without-fltk", | |
17
cfa6aaf2a7eb
use --without-fontconfig and --without-freetype for no-extras builds
John W. Eaton <jwe@octave.org>
parents:
16
diff
changeset
|
487 "--without-fontconfig", |
0 | 488 "--without-framework-opengl", |
17
cfa6aaf2a7eb
use --without-fontconfig and --without-freetype for no-extras builds
John W. Eaton <jwe@octave.org>
parents:
16
diff
changeset
|
489 "--without-freetype", |
0 | 490 "--without-glpk", |
491 "--without-hdf5", | |
492 "--without-klu", | |
493 "--without-magick", | |
494 "--without-opengl", | |
495 "--without-openssl", | |
496 "--without-portaudio", | |
497 "--without-qhull", | |
29
819a898b1960
no-extras factory: Add more switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
28
diff
changeset
|
498 "--without-qhull_r", |
0 | 499 "--without-qrupdate", |
500 "--without-qscintilla", | |
501 "--without-qt", | |
502 "--without-sndfile", | |
29
819a898b1960
no-extras factory: Add more switches.
Markus Mützel <markus.muetzel@gmx.de>
parents:
28
diff
changeset
|
503 "--without-spqr", |
0 | 504 "--without-sundials_ida", |
505 "--without-sundials_nvecserial", | |
506 "--without-umfpack", | |
507 "--without-x", | |
508 "--without-z"] | |
509 | |
510 def mk_no_extras_factory (nice, compile_opts, branch): | |
511 return mk_octave_factory (nice, no_extras, compile_opts, branch) | |
512 | |
513 | |
514 def mk_clang_3_8_factory (nice, compile_opts, branch): | |
515 return mk_octave_factory (nice, | |
516 ["CC=clang-3.8", "CXX=clang++-3.8"], | |
517 compile_opts, branch) | |
518 | |
519 | |
520 def mk_clang_3_9_factory (nice, compile_opts, branch): | |
521 return mk_octave_factory (nice, | |
522 ["CC=clang-3.9", "CXX=clang++-3.9"], | |
523 compile_opts, branch) | |
524 | |
525 def mk_clang_4_0_factory (nice, compile_opts, branch): | |
526 return mk_octave_factory (nice, | |
527 ["CC=clang-4.0", "CXX=clang++-4.0"], | |
528 compile_opts, branch) | |
529 | |
530 def mk_clang_5_0_factory (nice, compile_opts, branch): | |
531 return mk_octave_factory (nice, | |
532 ["CC=clang-5.0", "CXX=clang++-5.0"], | |
533 compile_opts, branch) | |
534 | |
535 def mk_clang_factory (nice, compile_opts, branch): | |
536 return mk_octave_factory (nice, | |
537 ["CC=clang", "CXX=clang++"], | |
538 compile_opts, branch) | |
539 | |
540 def mk_clang_osx_factory (nice, compile_opts, branch): | |
541 ## The linker does search /usr/local/lib, but it does so after | |
542 ## searching /usr/lib. That selects a readline library that is not | |
543 ## fully compatible with GNU readline. | |
544 return mk_octave_factory (nice, | |
545 ["CC=clang", | |
546 "CXX=clang++", | |
547 "CPPFLAGS=-I/opt/X11/include -I/usr/local/opt/gettext/include -I/usr/local/opt/icu4c/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/sqlite/include", | |
548 "LDFLAGS=-L/usr/local/lib -L/opt/X11/lib -L/usr/local/opt/qt/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/texinfo/lib -L/usr/local/opt/bison/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/icu4c/lib -L/usr/local/opt/libffi/lib -L/usr/local/opt/openblas/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib", | |
549 "PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/qt/lib/pkgconfig", | |
550 "--enable-link-all-dependencies", | |
551 "--with-x=no", | |
552 "--without-osmesa", | |
553 "--with-blas=openblas"], | |
554 compile_opts, branch, xvfb = False) | |
555 | |
556 from buildbot.config import BuilderConfig | |
557 | |
558 c["builders"] = [] | |
559 | |
560 c["builders"].append (BuilderConfig (name = "gcc-6-debian", | |
561 workernames = ["mtmx-debian-x86_64"], | |
562 factory = mk_gcc_6_factory (10, "-j2", "default"))) | |
563 | |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
564 c["builders"].append (BuilderConfig (name = "gcc-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
565 workernames = ["jwe-debian-x86_64-5"], |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
566 factory = mk_gcc_factory (19, "-j16", "default"))) |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
567 |
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
568 c["builders"].append (BuilderConfig (name = "stable-gcc-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
569 workernames = ["jwe-debian-x86_64-4"], |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
570 factory = mk_gcc_factory (19, "-j16", "stable"))) |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
571 |
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
572 c["builders"].append (BuilderConfig (name = "gcc-lto-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
573 workernames = ["jwe-debian-x86_64-5"], |
32 | 574 factory = mk_gcc_lto_factory (19, "-j16", "default"))) |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
575 |
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
576 c["builders"].append (BuilderConfig (name = "stable-gcc-lto-debian", |
31
08ec2af0065b
temporarily move jobs from jwe-2 to jwe-4
John W. Eaton <jwe@octave.org>
parents:
30
diff
changeset
|
577 workernames = ["jwe-debian-x86_64-4"], |
32 | 578 factory = mk_gcc_lto_factory (19, "-j16", "stable"))) |
0 | 579 |
580 c["builders"].append (BuilderConfig (name = "gcc-fedora", | |
581 workernames = ["das_fc25-x86_64"], | |
11 | 582 factory = mk_gcc_factory (0, "-j4", "default"))) |
0 | 583 |
584 c["builders"].append (BuilderConfig (name = "stable-gcc-fedora", | |
585 workernames = ["das_fc25-x86_64"], | |
11 | 586 factory = mk_gcc_factory (0, "-j4", "stable"))) |
0 | 587 |
588 c["builders"].append (BuilderConfig (name = "gcc-lto-fedora", | |
589 workernames = ["das_fc25-x86_64"], | |
11 | 590 factory = mk_gcc_lto_factory (10, "-j4", "default"))) |
0 | 591 |
592 c["builders"].append (BuilderConfig (name = "no-extras-debian", | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
593 workernames = ["jwe-debian-x86_64-5"], |
32 | 594 factory = mk_no_extras_factory (19, "-j16", "default"))) |
0 | 595 |
596 c["builders"].append (BuilderConfig (name = "stable-no-extras-debian", | |
31
08ec2af0065b
temporarily move jobs from jwe-2 to jwe-4
John W. Eaton <jwe@octave.org>
parents:
30
diff
changeset
|
597 workernames = ["jwe-debian-x86_64-4"], |
32 | 598 factory = mk_no_extras_factory (19, "-j16", "stable"))) |
0 | 599 |
600 c["builders"].append (BuilderConfig (name = "clang-3.9-debian", | |
601 workernames = ["mtmx-debian-x86_64"], | |
602 factory = mk_clang_3_9_factory (19, "-j2", "default"))) | |
603 | |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
604 c["builders"].append (BuilderConfig (name = "clang-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
605 workernames = ["jwe-debian-x86_64-1"], |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
606 factory = mk_clang_factory (19, "-j8", "default"))) |
23
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
607 |
0e1fc3eea4d0
new build configs; adjust load; move w64-64 to different system
John W. Eaton <jwe@octave.org>
parents:
22
diff
changeset
|
608 c["builders"].append (BuilderConfig (name = "stable-clang-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
609 workernames = ["jwe-debian-x86_64-1"], |
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
610 factory = mk_clang_factory (19, "-j8", "stable"))) |
0 | 611 |
612 c["builders"].append (BuilderConfig (name = "clang-fedora", | |
613 workernames = ["das_fc25-x86_64"], | |
11 | 614 factory = mk_clang_factory (19, "-j4", "default"))) |
0 | 615 |
616 | |
13
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
617 c["builders"].append (BuilderConfig (name = "stable-clang-fedora", |
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
618 workernames = ["das_fc25-x86_64"], |
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
619 factory = mk_clang_factory (19, "-j4", "stable"))) |
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
620 |
9f694d100a7b
new stable-clang-fedora builder
John W. Eaton <jwe@octave.org>
parents:
12
diff
changeset
|
621 |
0 | 622 c["builders"].append (BuilderConfig (name = "clang-osx", |
623 workernames = ["epfl-elcapitan-x86_64"], | |
624 factory = mk_clang_osx_factory (0, "-j4", "default"))) | |
625 | |
626 c["builders"].append (BuilderConfig (name = "stable-clang-osx", | |
627 workernames = ["epfl-elcapitan-x86_64"], | |
628 factory = mk_clang_osx_factory (0, "-j4", "stable"))) | |
629 | |
630 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
631 def mk_mxe_octave_hg_update_step (repo, mxe_branch): |
0 | 632 return Mercurial (repourl = repo, |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
633 defaultBranch = mxe_branch, branchType = "inrepo", |
0 | 634 workdir = "src", mode = "full", method = "fresh", |
635 haltOnFailure = True) | |
636 | |
637 | |
638 def mk_mxe_octave_bootstrap_step (nice = 0): | |
10
c1bb39356540
master.cfg: Run bootstrap script for MXE Octave builders (bug #55802).
Markus Mützel <markus.muetzel@gmx.de>
parents:
9
diff
changeset
|
639 boot_cmd = build_cmd_list ("./bootstrap", nice = nice) |
0 | 640 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env, |
641 description = "bootstrap") | |
642 | |
643 | |
644 def mk_mxe_octave_configure_step (nice = 0, branch = "default", opts = []): | |
645 conf_cmd = build_cmd_list (["./configure", | |
646 "--with-pkg-dir=../../mxe-pkg-src", | |
647 "--with-ccache", "--enable-octave=" + branch, | |
648 "--enable-binary-packages"], | |
649 nice = nice, opts = opts) | |
650 return Configure (command = conf_cmd, workdir = "src", env = build_env) | |
651 | |
652 | |
653 def mk_mxe_octave_clean_step (nice = 0): | |
654 boot_cmd = build_cmd_list (["make", "clean"], nice = nice) | |
655 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env, | |
656 description = "clean") | |
657 | |
658 | |
659 ## Timeout is large for these steps because mxe-octave currently only | |
660 ## prints a status update for each package, not detailed output from | |
661 ## make. The way the dependencies currently work, making | |
662 ## hg-octave-dist will also cause all the build tools to be updated, | |
663 ## and some of those make take significant time to build, especially | |
664 ## if the build is running on a heavily loaded system and this step | |
665 ## has a high nice value. | |
666 | |
667 def mk_mxe_octave_hg_tarball_step (nice = 0, jobs = 8, branch = "default"): | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
668 |
4
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
669 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs), "hg-octave-dist", "hg-octave-branch=" + branch], |
0 | 670 nice = nice) |
671 return Compile (command = make_cmd, workdir = "src", env = build_env, | |
672 timeout = 14400) | |
673 | |
674 | |
675 def mk_mxe_octave_compile_step (nice = 0, jobs = 8, opts = []): | |
676 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs)], | |
677 nice = nice, opts = opts) | |
678 return Compile (command = make_cmd, workdir = "src", env = build_env, | |
679 timeout = 14400) | |
680 | |
681 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
682 def mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): |
0 | 683 factory = BuildFactory () |
684 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
685 factory.addStep (mk_mxe_octave_hg_update_step (mxe_octave_hg_repo, mxe_branch)) |
0 | 686 factory.addStep (mk_mxe_octave_bootstrap_step (nice = nice)) |
687 ## Must run configure to ensure clean target will work, then must | |
688 ## run configure again to recreate makefile. | |
689 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch, | |
690 opts = configure_opts)) | |
691 factory.addStep (mk_mxe_octave_clean_step (nice = nice)) | |
692 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch, | |
693 opts = configure_opts)) | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
694 |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
695 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs, |
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
696 opts = "prerequisites")) |
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
697 |
4
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
698 if branch != "release": |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
699 ## Create a tarball file from an hg checkout, then build from that. |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
700 ## This also builds all dependencies for Octave, so it can take a |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
701 ## while. Using ccache should help us significantly since we are |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
702 ## typically rebuilding the same sets of packages repeatedly. |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
703 |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
704 factory.addStep (mk_mxe_octave_hg_tarball_step (nice = nice, jobs = jobs, |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
705 branch = branch)) |
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
706 |
0 | 707 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs, |
708 opts = compile_opts)) | |
4
5d2e18ee2b92
mxe-octave: don't build tarball from hg for "release" branch
John W. Eaton <jwe@octave.org>
parents:
3
diff
changeset
|
709 |
0 | 710 ## factory.addStep (mk_mxe_octave_test_step (nice = nice)) |
711 | |
712 return factory | |
713 | |
714 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
715 def mk_w32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): |
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
716 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
717 configure_opts + |
0 | 718 ["--enable-qt5", |
719 "--enable-devel-tools", | |
720 "--disable-windows-64", | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
721 "--disable-64", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
722 "--disable-fortran-int64", |
0 | 723 "--disable-system-opengl"], |
724 compile_opts) | |
725 | |
726 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
727 def mk_w64_32_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): |
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
728 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
729 configure_opts + |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
730 ["--enable-qt5", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
731 "--enable-devel-tools", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
732 "--enable-windows-64", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
733 "--enable-64", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
734 "--disable-fortran-int64", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
735 "--disable-system-opengl"], |
0 | 736 compile_opts) |
737 | |
738 | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
739 def mk_w64_64_factory (nice, jobs, branch, mxe_branch, configure_opts, compile_opts): |
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
740 return mk_mxe_octave_factory (nice, jobs, branch, mxe_branch, |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
741 configure_opts + |
0 | 742 ["--enable-qt5", |
743 "--enable-devel-tools", | |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
744 "--enable-windows-64", |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
745 "--enable-64", |
0 | 746 "--enable-fortran-int64", |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
747 "--disable-system-opengl"], |
0 | 748 compile_opts) |
749 | |
750 | |
751 def mk_native_factory (nice, jobs, branch, compile_opts): | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
752 return mk_mxe_octave_factory (nice, jobs, branch, "default", |
0 | 753 ["--enable-native-build", |
754 "--enable-qt5", | |
755 "--enable-lib64-directory", | |
756 "--enable-pic-flag", | |
757 "--disable-devel-tools", | |
758 "--enable-system-x11-libs", | |
759 "--enable-system-fontconfig", | |
760 "--enable-system-gcc", | |
761 "gnu-linux"], | |
762 compile_opts) | |
763 | |
764 | |
765 def mk_native_all_factory (nice, jobs, branch, compile_opts): | |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
766 return mk_mxe_octave_factory (nice, jobs, branch, "default", |
0 | 767 ["--enable-native-build", |
768 "--enable-qt5", | |
769 "--enable-lib64-directory", | |
770 "--enable-pic-flag", | |
771 "--disable-devel-tools", | |
772 "--disable-system-x11-libs", | |
773 "--disable-system-fontconfig", | |
774 "--disable-system-gcc", | |
775 "--disable-system-opengl", | |
776 "gnu-linux"], | |
777 compile_opts) | |
778 | |
779 | |
780 c["builders"].append (BuilderConfig (name = "w32-on-debian", | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
781 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
782 factory = mk_w32_factory (19, 16, "default", "default", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
783 ["--enable-system-octave"], |
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
784 ["nsis-installer", "7z-dist"]))) |
0 | 785 |
786 c["builders"].append (BuilderConfig (name = "w64-32-on-debian", | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
787 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
788 factory = mk_w64_32_factory (19, 16, "default", "default", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
789 ["--enable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
790 ["nsis-installer", "7z-dist"]))) |
0 | 791 |
792 c["builders"].append (BuilderConfig (name = "w64-64-on-debian", | |
31
08ec2af0065b
temporarily move jobs from jwe-2 to jwe-4
John W. Eaton <jwe@octave.org>
parents:
30
diff
changeset
|
793 workernames = ["jwe-debian-x86_64-4"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
794 factory = mk_w64_64_factory (19, 16, "default", "default", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
795 ["--enable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
796 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
797 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
798 c["builders"].append (BuilderConfig (name = "w32-release-on-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
799 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
800 factory = mk_w32_factory (19, 16, "release", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
801 ["--disable-system-octave"], |
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
802 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
803 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
804 c["builders"].append (BuilderConfig (name = "w64-32-release-on-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
805 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
806 factory = mk_w64_32_factory (19, 16, "release", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
807 ["--disable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
808 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
809 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
810 c["builders"].append (BuilderConfig (name = "w64-64-release-on-debian", |
31
08ec2af0065b
temporarily move jobs from jwe-2 to jwe-4
John W. Eaton <jwe@octave.org>
parents:
30
diff
changeset
|
811 workernames = ["jwe-debian-x86_64-4"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
812 factory = mk_w64_64_factory (19, 16, "release", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
813 ["--disable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
814 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
815 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
816 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
817 c["builders"].append (BuilderConfig (name = "w32-stable-on-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
818 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
819 factory = mk_w32_factory (19, 16, "stable", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
820 ["--enable-system-octave"], |
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
821 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
822 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
823 c["builders"].append (BuilderConfig (name = "w64-32-stable-on-debian", |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
824 workernames = ["jwe-debian-x86_64-5"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
825 factory = mk_w64_32_factory (19, 16, "stable", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
826 ["--enable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
827 ["nsis-installer", "7z-dist"]))) |
3
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
828 |
7a07ae3068be
add mxe-octave 'release' builds and rebalance worker loads
John W. Eaton <jwe@octave.org>
parents:
2
diff
changeset
|
829 c["builders"].append (BuilderConfig (name = "w64-64-stable-on-debian", |
31
08ec2af0065b
temporarily move jobs from jwe-2 to jwe-4
John W. Eaton <jwe@octave.org>
parents:
30
diff
changeset
|
830 workernames = ["jwe-debian-x86_64-4"], |
37
f42084477c28
Use different branches for building MXE Octave release and stable or default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
36
diff
changeset
|
831 factory = mk_w64_64_factory (19, 16, "stable", "release", |
26
a333253a8d2e
Build native Octave for MXE cross-builds that don't create a tarball (bug #49503).
Markus Mützel <markus.muetzel@gmx.de>
parents:
25
diff
changeset
|
832 ["--enable-system-octave"], |
6
c8ce098ecc08
mxe-octave: update build rules
John W. Eaton <jwe@octave.org>
parents:
5
diff
changeset
|
833 ["nsis-installer", "7z-dist"]))) |
0 | 834 |
835 c["builders"].append (BuilderConfig (name = "mxe-native-on-debian", | |
35
ba54973baf45
redistribute load on jwe systems
John W. Eaton <jwe@octave.org>
parents:
34
diff
changeset
|
836 workernames = ["jwe-debian-x86_64-1"], |
0 | 837 factory = mk_native_factory (19, 8, "default", "tar-dist"))) |
838 | |
839 c["builders"].append (BuilderConfig (name = "mxe-native-all-on-debian", | |
27
6e6cec148a95
load balancing changes for jwe workers
John W. Eaton <jwe@octave.org>
parents:
26
diff
changeset
|
840 workernames = ["jwe-debian-x86_64-3"], |
0 | 841 factory = mk_native_all_factory (19, 8, "default", "tar-dist"))) |
842 | |
843 | |
844 ## PROJECT IDENTITY | |
845 | |
846 ## the 'title' string will appear at the top of this buildbot | |
847 ## installation's html.WebStatus home page (linked to the 'titleURL') | |
848 ## and is embedded in the title of the waterfall HTML page. | |
849 | |
850 c["title"] = "GNU Octave Buildbot" | |
851 c["titleURL"] = "https://octave.org" | |
852 | |
853 # The 'buildbotURL' string should point to the location where the buildbot's | |
854 # internal web server is visible. This typically uses the port number set in | |
855 # the 'www' entry below, but with an externally-visible host name which the | |
856 # buildbot cannot figure out without some help. | |
857 | |
5
0b956eea0df3
move master web server back to port 8010
John W. Eaton <jwe@octave.org>
parents:
4
diff
changeset
|
858 c['buildbotURL'] = "http://buildbot.octave.org:8010/" |
0 | 859 |
860 ## Minimalistic config to activate new web UI | |
861 | |
862 from buildbot.plugins import util | |
863 | |
864 c['www'] = { | |
5
0b956eea0df3
move master web server back to port 8010
John W. Eaton <jwe@octave.org>
parents:
4
diff
changeset
|
865 "port" : 8010, |
0 | 866 "plugins" : { "waterfall_view" : True } |
867 } | |
868 | |
15 | 869 c['www']['ui_default_config'] = { |
870 "Waterfall.scaling_waterfall": 0.02, | |
25
180e9db46fa3
omit old builders from waterfall view by default
John W. Eaton <jwe@octave.org>
parents:
24
diff
changeset
|
871 "Waterfall.lazy_limit_waterfall": 400, |
180e9db46fa3
omit old builders from waterfall view by default
John W. Eaton <jwe@octave.org>
parents:
24
diff
changeset
|
872 ## A bug makes this setting the opposite of what it appears. |
180e9db46fa3
omit old builders from waterfall view by default
John W. Eaton <jwe@octave.org>
parents:
24
diff
changeset
|
873 "Waterfall.show_old_builders": True |
15 | 874 } |
875 | |
20 | 876 ### HOW TF is this supposed to work to limit access to things like forcing or |
877 ### stopping builds through the web interface. Nothing seems to limit the | |
878 ### force actions to users who are logged in. WTF!?! | |
879 ## authz = util.Authz ( | |
880 ## stringsMatcher = util.fnmatchStrMatcher, | |
881 ## allowRules = [ | |
882 ## util.AnyEndpointMatcher (role = "admins", defaultDeny = False), | |
883 ## # admins can do anything, | |
884 ## # defaultDeny = False: if user does not have the admin role, we continue parsing rules | |
885 ## util.StopBuildEndpointMatcher (role = "admins"), | |
886 ## util.ForceBuildEndpointMatcher (role = "admins"), | |
887 ## # if future Buildbot implement new control, we are safe with this last rule | |
888 ## util.AnyControlEndpointMatcher (role = "admins") | |
889 ## ], | |
890 ## roleMatchers = [ | |
891 ## # role owner is granted when property owner matches the email of the user | |
892 ## util.RolesFromOwner (role = "owner") | |
893 ## ] | |
894 ## ) | |
895 | |
896 auth = util.UserPasswordAuth (octave_buildbot_config.master_id_and_pass) | |
897 | |
898 c['www']['auth'] = auth | |
899 ## c['www']['authz'] = authz | |
30
97e41899e7cb
remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents:
29
diff
changeset
|
900 |
0 | 901 ## DB URL |
902 | |
903 ## This specifies what database buildbot uses to store its state. You | |
904 ## can leave this at its default for all but the largest installations. | |
905 | |
906 c["db"] = { "db_url" : "sqlite:///state.sqlite" } | |
907 | |
908 ## NOTIFICATIONS | |
909 | |
910 from buildbot.plugins import reporters | |
911 | |
912 c["services"] = [] | |
913 | |
914 m = reporters.MailNotifier (fromaddr = "NO-REPLY@octave.org", | |
915 sendToInterestedUsers = False, | |
916 extraRecipients = ["octave-buildbot@gnu.org"], | |
917 mode = "failing") | |
918 c["services"].append (m) |