1 <?xml version=
"1.0" encoding=
"utf-8"?>
5 Purpose: Buildbot example configuration.
8 Copyright: (c) 2007 Mike Wetherell
9 Licence: wxWidgets licence
11 There is one xml file such as this per build slave containing a <build>
12 element for each build the slave runs. Each <build> corresponds to a
13 column in the waterfall display.
15 For full documentation see:
16 http://www.wxwidgets.org/wiki/index.php/Development:_Buildbot
19 <bot xmlns:
xi=
"http://www.w3.org/2001/XInclude">
24 <xi:include href=
"include/defs.xml"/>
29 The elements marked 'Unique' below must be unique across all builds on
32 If a build is currently failing because of something other than a bug in
33 wxWidgets, e.g. out of space or missing libs, then comment it out, or
34 add '** Ignore **' to the beginning of the <name>, so that wxWidgets
35 developers know not to waste time investigating.
39 Unique. Appears as the title in the waterfall display.
41 <name>Linux x86_64 wxGTK Stable
</name>
44 Unique. The name of a directory for the bulid.
46 <builddir>example_gtk
</builddir>
49 The name of a scheduler that will trigger this build. common.xml
52 * 'trunk_quick' and 'stable_quick'. These trigger a build after
53 every source change on the trunk and stable branches respectively.
55 * Weekly schedulers that fire once a week. There is one of these
56 for every half hour of the week, e.g. you have monday_0600,
59 * Daily schedulers that fire once a day. There is also one of these
60 for every half hour, e.g. daily_0600, daily_0630, etc..
62 An empty <scheduler/> element takes its value from the previous build
63 incremented in the following way:
65 * Weekly schedulers are incremented by a day, monday_0600 becomes
66 tuesday_0600, and at the end of the week the time is also bumped by
67 an hour, saturday_0600 becomes sunday_0700.
69 * Daily scheduler are incremented by an hour.
71 The <scheduler> element can be omitted, in which case the build
72 never runs automatically, but can still be triggered manually.
73 Or you can use several, e.g. you could use two weekly schedulers
74 that fire on different days to have a build run twice a week.
76 <scheduler>monday_0600
</scheduler>
79 The meaning of <sandbox> is specific to the build slave. There
80 should be a comment in the slave's configuration file saying if they
81 are allowed or required. On the testdrive it specifies the remote
82 machine that will run the bulid.
84 <sandbox>debug
</sandbox>
87 You can override the make command the compile steps will use using
88 this <make> element, if omitted defaults to 'make'. For Windows
89 builds this becomes the place to put build options as there is no
92 <make>nmake -f makefile.vc SHARED=
1 CPPUNIT_CFLAGS=-I\cppunit\include CPPUNIT_LIBS=cppunit.lib
</make>
99 Check out the sources, by default the trunk branch. Or for a
100 particular branch or tag, e.g.:
101 <checkout branch="{$STABLE_BRANCH}"/>
102 <checkout branch="branches/WX_2_6_BRANCH"/>
107 A <shellcommand> build step can be used anywhere you need to run
108 arbitrary commands not covered by the standard build steps.
109 <haltOnFailure/> specifies that the whole build fails if this
110 step fails, without it it continues with the next step anyway.
113 <description>setting up
</description>
114 <descriptionDone>set up
</descriptionDone>
116 <command>setup-script
</command>
120 Configure. Options and environment variables can be added with
121 the 'options' attribute:
122 <configure options="-with-foobar CC=cc CXX=CC"/>
123 Omitted for Windows builds.
128 Compile the wxWidgets library, subdirectories and tests.
130 Takes the following attributes which can all be either 'true' or
132 wx - build the library
133 samples - build the samples
134 utils - build the utils
135 demos - build the demos
136 contrib - build the contrib
137 tests - build the tests
138 msw - the library makefile is under build\msw
139 gui - if 'false' builds only a subset of the above
141 The attributes usually default to the right values.