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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 ## -*- python -*-
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 ## ex: set syntax=python:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
3
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 ## This is a sample buildmaster config file. It must be installed as
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 ## 'master.cfg' in your buildmaster's base directory.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 ## This is the dictionary that the buildmaster pays attention to. We
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 ## also use a shorter alias to save typing.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 c = BuildmasterConfig = {}
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 ## WORKERS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 ## The 'worker' list defines the set of recognized workers. Each
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 ## element is a Worker object, specifying a unique worker name and
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 ## password. The same worker name and password must be configured on
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 ## the worker.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 from buildbot.worker import Worker
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39 import octave_buildbot_config
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41 c["workers"] = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44 c["workers"].append (Worker (worker, info["pass"], max_builds = info["max_builds"]))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 ## 'protocols' contains information about protocols which master will
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47 ## use for communicating with workers. You must define at least 'port'
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48 ## option that workers could connect to your master with this protocol.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49 ## 'port' must match the value configured into the workers (with
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
50 ## their --master option)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 c["protocols"] = { "pb" : { "port" : 9990 }}
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 ## SOURCES
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 ## The main mercurial repository server. This machines pings the
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57 ## PBChangeSource. The workers should pull from it, to make
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58 ## sure they are in sync.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62 mxe_octave_hg_repo = "http://hg.octave.org/mxe-octave"
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64 ## CHANGESOURCES
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66 ## the 'change_source' setting tells the buildmaster how it should
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67 ## find out about source code changes. Here we point to the buildbot
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
68 ## clone of Octave.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70 from buildbot.changes.hgpoller import HgPoller
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 c["change_source"] = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
74 c["change_source"].append (HgPoller (project = "octave",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75 repourl = octave_hg_repo,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
76 workdir = "octave-hg-repo",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77 pollinterval = 5*60))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
79 c["change_source"].append (HgPoller (project = "stable octave",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80 branch = "stable",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
81 repourl = stable_octave_hg_repo,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82 workdir = "stable-octave-hg-repo",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83 pollinterval = 5*60))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
84
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 c["change_source"].append (HgPoller (project = "mxe-octave",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86 repourl = mxe_octave_hg_repo,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
87 workdir = "mxe-octave-hg-repo",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
88 pollinterval = 15*60))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90 ## FILTERS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
91
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92 from buildbot.changes import filter
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
93
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94 octave_default_filter = filter.ChangeFilter (project = "octave", branch = "default")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
95
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
96 octave_stable_filter = filter.ChangeFilter (project = "stable octave", branch = "stable")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
98 mxe_octave_default_filter = filter.ChangeFilter (project = "mxe-octave", branch = "default")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
100 ## SCHEDULERS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
101
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 ## Configure the Schedulers, which decide how to react to incoming
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
103 ## changes.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
104
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
105 from buildbot.schedulers.basic import SingleBranchScheduler
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 from buildbot.schedulers.forcesched import ForceScheduler
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107 from buildbot.schedulers import timed
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
109 all_default_octave_builders = [];
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
113 all_default_octave_builders.append ("gcc-fedora") # das
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118 all_default_octave_builders.append ("clang-fedora") # das
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119 all_default_octave_builders.append ("clang-osx") # simone
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128 all_stable_octave_builders.append ("stable-clang-osx") # simone
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
142
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
143 c["schedulers"] = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
144
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
145 c["schedulers"].append (SingleBranchScheduler (name = "default octave",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
146 change_filter = octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147 treeStableTimer = 5*60,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148 builderNames = all_default_octave_builders))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
149
20
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
150 ### DISABLED because there doesn't seem to be a way to limit this
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
151 ### action to users logged in to the web interface; instead, forcing
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
152 ### builds is allowed for anyone. WTF!?!
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
153 ### c["schedulers"].append (ForceScheduler (name = "force_default_octave", builderNames = all_default_octave_builders))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
154
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
155 c["schedulers"].append (SingleBranchScheduler (name = "stable octave",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156 change_filter = octave_stable_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
157 treeStableTimer = 5*60,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
158 builderNames = all_stable_octave_builders))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
159
20
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
160 ### DISABLED because there doesn't seem to be a way to limit this
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
161 ### action to users logged in to the web interface; instead, forcing
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
162 ### builds is allowed for anyone. WTF!?!
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
163 ### c["schedulers"].append (ForceScheduler (name = "force_stable_octave", builderNames = all_stable_octave_builders))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
164
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
165 ## Here, branch is the mxe-octave branch.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
166 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w32",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
167 branch = "default",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
168 change_filter = mxe_octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
169 builderNames = ["w32-on-debian"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
170 hour = 0))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
171
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
172 ## Here, branch is the mxe-octave branch.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
173 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-32",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
174 branch = "default",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
175 change_filter = mxe_octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
178
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
179 ## Here, branch is the mxe-octave branch.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
180 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-w64-64",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
181 branch = "default",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
182 change_filter = mxe_octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
227
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
228 ## Here, branch is the mxe-octave branch.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
229 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
230 branch = "default",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
231 change_filter = mxe_octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
234
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
235 ## Here, branch is the mxe-octave branch.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
236 c["schedulers"].append (timed.Nightly (name = "periodic mxe-octave-native-all",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
237 branch = "default",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
238 change_filter = mxe_octave_default_filter,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
241
20
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
242 ### DISABLED because there doesn't seem to be a way to limit this
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
243 ### action to users logged in to the web interface; instead, forcing
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
244 ### builds is allowed for anyone. WTF!?!
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
245 ### c["schedulers"].append (ForceScheduler (name = "force_mxe_octave", builderNames = all_mxe_octave_builders))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
246
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
247 ## BUILDERS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
248
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
249 ## The 'builders' list defines the Builders, which tell Buildbot how
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
250 ## to perform a build: what steps, and which workers can execute them.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
251 ## Note that any particular build will only take place on one worker.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
252
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
253 from buildbot.process.factory import BuildFactory
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
254 from buildbot.steps.source.mercurial import Mercurial
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
255 from buildbot.steps.shell import ShellCommand
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
256 from buildbot.steps.shell import Configure
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
257 from buildbot.steps.shell import Compile
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
258 from buildbot.steps.shell import Test
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
259
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
260 ## Steps we may use in more than one build factory.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
261
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
262 def build_cmd_list (cmd, nice = 0, opts = []):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
263 cmd_list = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
264
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
265 if nice != 0:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
266 cmd_list.extend (["nice", "-n", str (nice)])
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
267
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
268 if isinstance (cmd, list):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
269 cmd_list.extend (cmd)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
270 else:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
271 cmd_list.append (cmd)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
272
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
273 if isinstance (opts, list):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
274 cmd_list.extend (opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
275 else:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
276 cmd_list.append (opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
277
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
278 return cmd_list
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
279
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
280
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
281 build_env = { "PATH" : "${HOME}/bin:${PATH}" };
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
282
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
283 def mk_octave_hg_update_step (repo, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
284 return Mercurial (repourl = repo,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
285 defaultBranch = branch, branchType = "inrepo",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
286 workdir = "src", mode = "full", method = "fresh",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
287 haltOnFailure = True)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
288
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
289 def mk_octave_bootstrap_step (nice = 0):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
290 boot_cmd = build_cmd_list ("./bootstrap", nice = nice)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
291 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
292 description = "bootstrap")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
293
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
294 sh_rm_build_dir = ShellCommand (command = ["rm", "-rf", "build"], workdir = ".",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
295 env = build_env, description = "clean build dir")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
296
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
297 sh_mk_build_dir = ShellCommand (command = ["mkdir", "build"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
298 description = "create build dir")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
299
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
300 def mk_octave_configure_step (nice = 0, opts = []):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
301 conf_cmd = build_cmd_list ("../src/configure", nice = nice, opts = opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
302 return Configure (command = conf_cmd, workdir = "build", env = build_env)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
303
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
312 return Compile (command = make_cmd, workdir = "build", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
313 warningPattern = ":[0-9][0-9]*:[0-9][0-9]*:warning: ")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
314
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
317 from buildbot.process.results import SUCCESS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
318 from buildbot.process.results import FAILURE
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
319 from buildbot.process.results import WARNINGS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
338 summaryRe = re.compile (r"^Summary: *$")
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
345
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
346 if not self.summary_found:
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
347 mo = self.summaryRe.search (line)
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
348 if mo:
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
349 self.summary_found = True
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
350 return
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
354 typ = mo.group(1)
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
357 if typ == "PASS":
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
358 self.passed += num
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
359 if typ == "FAIL" or typ == "REGRESSION":
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
372 class octave_test (Test):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
f77e7e92cc95 recognize test status
John W. Eaton <jwe@octave.org>
parents: 1
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
391 return rc
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
392
1
97e7b7963dc9 make test log filtering work again
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
393
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
394 def mk_octave_test_step (nice = 0, xvfb = True):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
395 if xvfb:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
396 cmd = ["xvfb-run", "-a", "-s", "-screen 0 640x480x24"]
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
397 else:
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
398 cmd = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
399 cmd.extend (["make", "V=1", "check"])
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
400 test_cmd = build_cmd_list (cmd, nice = nice)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
401 return octave_test (command = test_cmd, workdir = "build", env = build_env)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
402
1
97e7b7963dc9 make test log filtering work again
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
403
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
404 def mk_octave_factory (nice, configure_opts, compile_opts, branch, xvfb = True):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
405 factory = BuildFactory ()
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
406
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
407 factory.addStep (mk_octave_hg_update_step (octave_hg_repo, branch))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
408 factory.addStep (mk_octave_bootstrap_step (nice = nice))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
409 factory.addStep (sh_rm_build_dir)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
410 factory.addStep (sh_mk_build_dir)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
413 factory.addStep (mk_octave_test_step (nice = nice, xvfb = xvfb))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
414
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
415 return factory
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
416
1
97e7b7963dc9 make test log filtering work again
John W. Eaton <jwe@octave.org>
parents: 0
diff changeset
417
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
418 def mk_gcc_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
419 return mk_octave_factory (nice, [], compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
420
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
421
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
422 def mk_gcc_4_9_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
423 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
424 ["CC=gcc-4.9", "CXX=g++-4.9", "F77=gfortran-4.9", "--without-magick"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
425 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
426
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
427
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
428 ## Default build.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
429 def mk_gcc_5_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
430 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
431 ["CC=gcc-5", "CXX=g++-5", "F77=gfortran-5"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
432 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
433
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
434
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
435 def mk_gcc_6_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
436 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
437 ["CC=gcc-6", "CXX=g++-6", "F77=gfortran-6"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
438 compile_opts, branch)
30
97e41899e7cb remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents: 29
diff changeset
439
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
440
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
441 def mk_gcc_7_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
442 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
443 ["CC=gcc-7", "CXX=g++-7", "F77=gfortran-7"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
444 compile_opts, branch)
30
97e41899e7cb remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents: 29
diff changeset
445
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
446
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
447 def mk_gcc_7_lto_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
448 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
449 ["CC=gcc-7", "CXX=g++-7", "F77=gfortran-7",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
450 "CFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
451 "CXXFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
452 "FFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
453 "LDFLAGS=-flto=4",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
454 "NM=gcc-nm-7", "AR=gcc-ar-7", "RANLIB=gcc-ranlib-7"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
455 compile_opts, branch)
30
97e41899e7cb remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents: 29
diff changeset
456
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
457
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
458 def mk_gcc_lto_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
459 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
460 ["CFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
461 "CXXFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
462 "FFLAGS=-O2 -flto=4 -ffat-lto-objects",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
463 "LDFLAGS=-flto=4",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
464 "NM=gcc-nm", "AR=gcc-ar", "RANLIB=gcc-ranlib"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
465 compile_opts, branch)
30
97e41899e7cb remove trailing whitespace from master.cfg
John W. Eaton <jwe@octave.org>
parents: 29
diff changeset
466
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
467
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
468 no_extras = ["--disable-docs",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
469 "--disable-fftw-threads",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
470 "--disable-java",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
471 "--disable-jit",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
472 "--disable-openmp",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
475 "--without-amd",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
476 "--without-arpack",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
477 "--without-bz2",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
478 "--without-camd",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
479 "--without-ccolamd",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
480 "--without-cholmod",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
481 "--without-colamd",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
482 "--without-curl",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
483 "--without-cxsparse",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
484 "--without-fftw3",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
485 "--without-fftw3f",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
490 "--without-glpk",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
491 "--without-hdf5",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
492 "--without-klu",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
493 "--without-magick",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
494 "--without-opengl",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
495 "--without-openssl",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
496 "--without-portaudio",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
499 "--without-qrupdate",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
500 "--without-qscintilla",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
501 "--without-qt",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
504 "--without-sundials_ida",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
505 "--without-sundials_nvecserial",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
506 "--without-umfpack",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
507 "--without-x",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
508 "--without-z"]
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
509
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
510 def mk_no_extras_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
511 return mk_octave_factory (nice, no_extras, compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
512
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
513
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
514 def mk_clang_3_8_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
515 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
516 ["CC=clang-3.8", "CXX=clang++-3.8"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
517 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
518
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
519
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
520 def mk_clang_3_9_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
521 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
522 ["CC=clang-3.9", "CXX=clang++-3.9"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
523 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
524
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
525 def mk_clang_4_0_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
526 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
527 ["CC=clang-4.0", "CXX=clang++-4.0"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
528 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
529
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
530 def mk_clang_5_0_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
531 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
532 ["CC=clang-5.0", "CXX=clang++-5.0"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
533 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
534
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
535 def mk_clang_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
536 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
537 ["CC=clang", "CXX=clang++"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
538 compile_opts, branch)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
539
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
540 def mk_clang_osx_factory (nice, compile_opts, branch):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
541 ## The linker does search /usr/local/lib, but it does so after
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
542 ## searching /usr/lib. That selects a readline library that is not
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
543 ## fully compatible with GNU readline.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
544 return mk_octave_factory (nice,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
545 ["CC=clang",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
546 "CXX=clang++",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
549 "PKG_CONFIG_PATH=/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/qt/lib/pkgconfig",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
550 "--enable-link-all-dependencies",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
551 "--with-x=no",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
552 "--without-osmesa",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
553 "--with-blas=openblas"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
554 compile_opts, branch, xvfb = False)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
555
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
556 from buildbot.config import BuilderConfig
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
557
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
558 c["builders"] = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
559
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
560 c["builders"].append (BuilderConfig (name = "gcc-6-debian",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
561 workernames = ["mtmx-debian-x86_64"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
562 factory = mk_gcc_6_factory (10, "-j2", "default")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
f9f47fb09d63 increase job limit on jwe-4
John W. Eaton <jwe@octave.org>
parents: 31
diff changeset
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
f9f47fb09d63 increase job limit on jwe-4
John W. Eaton <jwe@octave.org>
parents: 31
diff changeset
578 factory = mk_gcc_lto_factory (19, "-j16", "stable")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
579
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
580 c["builders"].append (BuilderConfig (name = "gcc-fedora",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
581 workernames = ["das_fc25-x86_64"],
11
dabede31fc79 use -j4 for fedora builds
John W. Eaton <jwe@octave.org>
parents: 10
diff changeset
582 factory = mk_gcc_factory (0, "-j4", "default")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
583
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
584 c["builders"].append (BuilderConfig (name = "stable-gcc-fedora",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
585 workernames = ["das_fc25-x86_64"],
11
dabede31fc79 use -j4 for fedora builds
John W. Eaton <jwe@octave.org>
parents: 10
diff changeset
586 factory = mk_gcc_factory (0, "-j4", "stable")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
587
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
588 c["builders"].append (BuilderConfig (name = "gcc-lto-fedora",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
589 workernames = ["das_fc25-x86_64"],
11
dabede31fc79 use -j4 for fedora builds
John W. Eaton <jwe@octave.org>
parents: 10
diff changeset
590 factory = mk_gcc_lto_factory (10, "-j4", "default")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
591
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
f9f47fb09d63 increase job limit on jwe-4
John W. Eaton <jwe@octave.org>
parents: 31
diff changeset
594 factory = mk_no_extras_factory (19, "-j16", "default")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
595
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
f9f47fb09d63 increase job limit on jwe-4
John W. Eaton <jwe@octave.org>
parents: 31
diff changeset
598 factory = mk_no_extras_factory (19, "-j16", "stable")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
599
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
600 c["builders"].append (BuilderConfig (name = "clang-3.9-debian",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
601 workernames = ["mtmx-debian-x86_64"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
602 factory = mk_clang_3_9_factory (19, "-j2", "default")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
611
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
612 c["builders"].append (BuilderConfig (name = "clang-fedora",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
613 workernames = ["das_fc25-x86_64"],
11
dabede31fc79 use -j4 for fedora builds
John W. Eaton <jwe@octave.org>
parents: 10
diff changeset
614 factory = mk_clang_factory (19, "-j4", "default")))
0
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
615
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
622 c["builders"].append (BuilderConfig (name = "clang-osx",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
623 workernames = ["epfl-elcapitan-x86_64"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
624 factory = mk_clang_osx_factory (0, "-j4", "default")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
625
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
626 c["builders"].append (BuilderConfig (name = "stable-clang-osx",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
627 workernames = ["epfl-elcapitan-x86_64"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
628 factory = mk_clang_osx_factory (0, "-j4", "stable")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
629
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
634 workdir = "src", mode = "full", method = "fresh",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
635 haltOnFailure = True)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
636
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
637
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
640 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
641 description = "bootstrap")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
642
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
643
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
644 def mk_mxe_octave_configure_step (nice = 0, branch = "default", opts = []):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
645 conf_cmd = build_cmd_list (["./configure",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
646 "--with-pkg-dir=../../mxe-pkg-src",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
647 "--with-ccache", "--enable-octave=" + branch,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
648 "--enable-binary-packages"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
649 nice = nice, opts = opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
650 return Configure (command = conf_cmd, workdir = "src", env = build_env)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
651
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
652
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
653 def mk_mxe_octave_clean_step (nice = 0):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
654 boot_cmd = build_cmd_list (["make", "clean"], nice = nice)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
655 return ShellCommand (command = boot_cmd, workdir = "src", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
656 description = "clean")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
657
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
658
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
659 ## Timeout is large for these steps because mxe-octave currently only
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
660 ## prints a status update for each package, not detailed output from
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
661 ## make. The way the dependencies currently work, making
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
662 ## hg-octave-dist will also cause all the build tools to be updated,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
663 ## and some of those make take significant time to build, especially
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
664 ## if the build is running on a heavily loaded system and this step
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
665 ## has a high nice value.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
666
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
670 nice = nice)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
671 return Compile (command = make_cmd, workdir = "src", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
672 timeout = 14400)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
673
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
674
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
675 def mk_mxe_octave_compile_step (nice = 0, jobs = 8, opts = []):
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
676 make_cmd = build_cmd_list (["make", "JOBS=" + str (jobs)],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
677 nice = nice, opts = opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
678 return Compile (command = make_cmd, workdir = "src", env = build_env,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
679 timeout = 14400)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
680
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
683 factory = BuildFactory ()
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
686 factory.addStep (mk_mxe_octave_bootstrap_step (nice = nice))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
687 ## Must run configure to ensure clean target will work, then must
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
688 ## run configure again to recreate makefile.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
689 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
690 opts = configure_opts))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
691 factory.addStep (mk_mxe_octave_clean_step (nice = nice))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
692 factory.addStep (mk_mxe_octave_configure_step (nice = nice, branch = branch,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
707 factory.addStep (mk_mxe_octave_compile_step (nice = nice, jobs = jobs,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
710 ## factory.addStep (mk_mxe_octave_test_step (nice = nice))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
711
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
712 return factory
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
713
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
718 ["--enable-qt5",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
719 "--enable-devel-tools",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
723 "--disable-system-opengl"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
724 compile_opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
725
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
736 compile_opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
737
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
742 ["--enable-qt5",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
748 compile_opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
749
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
750
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
753 ["--enable-native-build",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
754 "--enable-qt5",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
755 "--enable-lib64-directory",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
756 "--enable-pic-flag",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
757 "--disable-devel-tools",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
758 "--enable-system-x11-libs",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
759 "--enable-system-fontconfig",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
760 "--enable-system-gcc",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
761 "gnu-linux"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
762 compile_opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
763
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
764
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
767 ["--enable-native-build",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
768 "--enable-qt5",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
769 "--enable-lib64-directory",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
770 "--enable-pic-flag",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
771 "--disable-devel-tools",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
772 "--disable-system-x11-libs",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
773 "--disable-system-fontconfig",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
774 "--disable-system-gcc",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
775 "--disable-system-opengl",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
776 "gnu-linux"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
777 compile_opts)
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
778
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
779
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
785
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
791
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
834
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
837 factory = mk_native_factory (19, 8, "default", "tar-dist")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
838
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
841 factory = mk_native_all_factory (19, 8, "default", "tar-dist")))
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
842
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
843
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
844 ## PROJECT IDENTITY
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
845
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
846 ## the 'title' string will appear at the top of this buildbot
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
847 ## installation's html.WebStatus home page (linked to the 'titleURL')
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
848 ## and is embedded in the title of the waterfall HTML page.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
849
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
850 c["title"] = "GNU Octave Buildbot"
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
851 c["titleURL"] = "https://octave.org"
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
852
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
853 # The 'buildbotURL' string should point to the location where the buildbot's
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
854 # internal web server is visible. This typically uses the port number set in
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
855 # the 'www' entry below, but with an externally-visible host name which the
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
856 # buildbot cannot figure out without some help.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
859
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
860 ## Minimalistic config to activate new web UI
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
861
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
862 from buildbot.plugins import util
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
863
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
866 "plugins" : { "waterfall_view" : True }
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
867 }
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
868
15
cbcd3693ff0e waterfall config parameters
John W. Eaton <jwe@octave.org>
parents: 14
diff changeset
869 c['www']['ui_default_config'] = {
cbcd3693ff0e waterfall config parameters
John W. Eaton <jwe@octave.org>
parents: 14
diff changeset
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
cbcd3693ff0e waterfall config parameters
John W. Eaton <jwe@octave.org>
parents: 14
diff changeset
874 }
cbcd3693ff0e waterfall config parameters
John W. Eaton <jwe@octave.org>
parents: 14
diff changeset
875
20
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
876 ### HOW TF is this supposed to work to limit access to things like forcing or
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
877 ### stopping builds through the web interface. Nothing seems to limit the
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
878 ### force actions to users who are logged in. WTF!?!
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
879 ## authz = util.Authz (
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
880 ## stringsMatcher = util.fnmatchStrMatcher,
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
881 ## allowRules = [
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
882 ## util.AnyEndpointMatcher (role = "admins", defaultDeny = False),
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
883 ## # admins can do anything,
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
884 ## # defaultDeny = False: if user does not have the admin role, we continue parsing rules
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
885 ## util.StopBuildEndpointMatcher (role = "admins"),
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
886 ## util.ForceBuildEndpointMatcher (role = "admins"),
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
887 ## # if future Buildbot implement new control, we are safe with this last rule
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
888 ## util.AnyControlEndpointMatcher (role = "admins")
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
889 ## ],
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
890 ## roleMatchers = [
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
891 ## # role owner is granted when property owner matches the email of the user
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
892 ## util.RolesFromOwner (role = "owner")
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
893 ## ]
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
894 ## )
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
895
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
896 auth = util.UserPasswordAuth (octave_buildbot_config.master_id_and_pass)
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
897
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
898 c['www']['auth'] = auth
0755c33a0f99 disable force schedulers
John W. Eaton <jwe@octave.org>
parents: 19
diff changeset
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
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
901 ## DB URL
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
902
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
903 ## This specifies what database buildbot uses to store its state. You
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
904 ## can leave this at its default for all but the largest installations.
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
905
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
906 c["db"] = { "db_url" : "sqlite:///state.sqlite" }
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
907
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
908 ## NOTIFICATIONS
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
909
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
910 from buildbot.plugins import reporters
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
911
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
912 c["services"] = []
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
913
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
914 m = reporters.MailNotifier (fromaddr = "NO-REPLY@octave.org",
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
915 sendToInterestedUsers = False,
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
916 extraRecipients = ["octave-buildbot@gnu.org"],
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
917 mode = "failing")
4ad92f00bca5 initial commit
John W. Eaton <jwe@octave.org>
parents:
diff changeset
918 c["services"].append (m)