]> git.saurik.com Git - wxWidgets.git/commitdiff
Add buildbot configuration.
authorMichael Wetherell <mike.wetherell@ntlworld.com>
Fri, 28 Sep 2007 11:39:39 +0000 (11:39 +0000)
committerMichael Wetherell <mike.wetherell@ntlworld.com>
Fri, 28 Sep 2007 11:39:39 +0000 (11:39 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

build/buildbot/config/common.xml [new file with mode: 0644]
build/buildbot/config/example.xml [new file with mode: 0644]
build/buildbot/config/testdrive.xml [new file with mode: 0644]

diff --git a/build/buildbot/config/common.xml b/build/buildbot/config/common.xml
new file mode 100644 (file)
index 0000000..2e2f0da
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    Name:       common.xml
+    Purpose:    Schedulers and locks common to all slaves.
+    Author:     Mike Wetherell
+    RCS-ID:     $Id$
+    Copyright:  (c) 2007 Mike Wetherell
+    Licence:    wxWidgets licence
+-->
+
+<bot xmlns:xi="http://www.w3.org/2001/XInclude"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xmlns:exsl="http://exslt.org/common"
+     xsl:version="1.0">
+
+<xi:include href="include.xml" xpointer="xpointer(*/*)"/>
+
+<!--
+    Quick schedulers. Builds using these are triggered after each change to
+    the sources on the given branch.
+    
+    name:               unique 
+    branch:             branch to watch 
+    treeStableTimer:    wait until the tree has stopped changing for the
+                        given number of seconds before firing
+    fileNotImportant:   files matching these patterns do not trigger a build 
+-->
+
+<scheduler>
+    <name>trunk_quick</name>
+    <branch>trunk</branch>
+    <treeStableTimer>900</treeStableTimer>
+    <fileNotImportant>doc/*</fileNotImportant>
+</scheduler>
+
+<scheduler>
+    <name>stable_quick</name>
+    <branch><STABLE_BRANCH/></branch>
+    <treeStableTimer>900</treeStableTimer>
+    <fileNotImportant>doc/*</fileNotImportant>
+</scheduler>
+
+<!--
+    Schedulers that fire once a week.
+
+    A build can use one of these to be triggered once a week, or more than
+    one if it should run several times a week on particular days.
+-->
+
+<nightly>
+    <name>sunday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>0</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>monday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>1</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>tuesday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>2</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>wednesday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>3</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>thursday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>4</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>friday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>5</dayOfWeek>
+</nightly>
+
+<nightly>
+    <name>saturday_6am</name>
+    <hour>6</hour>
+    <dayOfWeek>6</dayOfWeek>
+</nightly>
+
+<!--
+    Schedulers for daily builds.
+-->
+
+<nightly>
+    <name>daily_6am</name>
+    <hour>6</hour>
+</nightly>
+
+<!--
+    Track SVN changes using the wx-cvs mailing list.
+    The <prefix> is subtracted from the paths in the 'Modified Files:'
+    section, the remainder is then assumed to give the branch and filename.
+-->
+
+<svnmaildirsource>
+    <prefix>wxWidgets</prefix>
+</svnmaildirsource>
+
+</bot>
diff --git a/build/buildbot/config/example.xml b/build/buildbot/config/example.xml
new file mode 100644 (file)
index 0000000..5c79147
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    Name:       example.xml
+    Purpose:    Buildbot example configuration.
+    Author:     Mike Wetherell
+    RCS-ID:     $Id$
+    Copyright:  (c) 2007 Mike Wetherell
+    Licence:    wxWidgets licence
+
+    There is one xml file such as this per build slave containing a <build>
+    element for each build the slave runs. Each <build> corresponds to a
+    column in the waterfall display.
+-->
+
+<bot xmlns:xi="http://www.w3.org/2001/XInclude"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xmlns:exsl="http://exslt.org/common"
+     xsl:version="1.0">
+
+<!--
+    Common declarations.
+-->
+<xi:include href="include.xml" xpointer="xpointer(*/*)"/>
+
+<!--
+    Notes:
+
+    The elements marked 'Unique' below must be unique across all builds on
+    all slaves.
+
+    If a build is currently failing because of something other than a bug in
+    wxWidgets, e.g. out of space or missing libs, then comment it out, or
+    add '** Ignore **' to the beginning of the <name>, so that wxWidgets
+    developers know not to waste time investigating.
+-->
+<build>
+    <!--
+        Unique. Appears as the title in the waterfall display.
+    -->
+    <name>Linux x86_64 wxGTK Stable</name>
+
+    <!--
+        Unique. The name of a directory for the bulid. On most slaves must
+        be a single name, on the Testdrive builds it must be a path such as
+        '/tmp/wx/td_gtk'.
+    -->
+    <builddir>example_gtk</builddir>
+
+    <!--
+        The name of a scheduler that will trigger this build. The schedulers
+        are usually defined in common.xml, look in there to see if there is
+        already one you can use, and add a new one if not.
+        The 'trunk_quick' and 'stable_quick' schedulers currently in
+        common.xml trigger a build after every source change on the trunk
+        and stable branches respectively. There are also daily and weekly
+        schedulers 'daily_6am', 'monday_6am', 'tuesday_6am' and so on.
+
+        The <scheduler> element can be omitted, in which case the build
+        never runs automatically, but can still be triggered manually.
+        Or you can use several, e.g. you could use two weekly schedulers
+        that fire on different days to have a build run twice a week.
+    -->
+    <scheduler>trunk_quick</scheduler>
+
+    <!--
+        The meaning of <sandbox> is specific to the build slave. There
+        should be a comment in the slave's configuration file saying if they
+        are allowed or required. On the testdrive it specifies the remote
+        machine that will run the bulid.
+    -->
+    <sandbox>debug</sandbox>
+
+    <!--
+        You can override the make command the compile steps will use using
+        this <make> element, if omitted defaults to 'make'. For Windows
+        builds this becomes the place to put build options as there is no
+        configure step.
+    -->
+    <make>nmake -f makefile.vc SHARED=1 CPPUNIT_CFLAGS=-I\cppunit\include CPPUNIT_LIBS=cppunit.lib</make>
+
+    <!--
+        The build steps.
+    -->
+    <steps>
+        <!--
+            Check out the sources, by default the trunk branch. Or for a
+            particular branch or tag, e.g.:
+                <checkout branch="{$STABLE_BRANCH}"/>
+                <checkout branch="branches/WX_2_6_BRANCH"/>
+        -->
+        <checkout/>
+
+        <!--
+            A <shellcommand> build step can be used anywhere you need to run
+            arbitrary commands not covered by the standard build steps.
+            <haltOnFailure/> specifies that the whole build fails if this
+            step fails, without it it continues with the next step anyway.
+        -->
+        <shellcommand>
+            <description>setting up</description>
+            <descriptionDone>set up</descriptionDone>
+            <haltOnFailure/>
+            <command>setup-script</command>
+        </shellcommand>
+
+        <!--
+            Configure. Options and environment variables can be added with
+            the 'options' attribute:
+                <configure options="-with-foobar CC=cc CXX=CC"/>
+            Omitted for Windows builds.
+        -->
+        <configure/>
+
+        <!--
+            Compile the library. For Windows builds use <compile-msw/>
+            instead which runs the make command in the 'build\msw'
+            subdirectory instead of the wxWidgets root.
+        -->
+        <compile/>
+
+        <!--
+            Compile subdirectories. There is also <compile-contrib/> for
+            branches that have contrib.
+        -->
+        <compile-samples/>
+        <compile-utils/>
+        <compile-tests/>
+
+        <!--
+            Run the test suites. For Windows builds the command to run the
+            test suite must be overridden, e.g.:
+                <run-tests>
+                    <command>PATH=..\lib\vc_dll;%PATH%</command>
+                    <command>cd tests</command>
+                    <command>vc_msw\test</command>
+                    <command>vc_msw\test_gui</command>
+                </run-tests>
+        -->
+        <run-tests/>
+    </steps>
+</build>
+
+</bot>
diff --git a/build/buildbot/config/testdrive.xml b/build/buildbot/config/testdrive.xml
new file mode 100644 (file)
index 0000000..5abce6a
--- /dev/null
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+    Name:       testdrive.xml
+    Purpose:    Buildbot configuration for the HP Testdrive.
+    Author:     Mike Wetherell
+    RCS-ID:     $Id$
+    Copyright:  (c) 2007 Mike Wetherell
+    Licence:    wxWidgets licence
+-->
+
+<bot xmlns:xi="http://www.w3.org/2001/XInclude"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xmlns:exsl="http://exslt.org/common"
+     xsl:version="1.0">
+
+<xi:include href="testdrive-inc.xml" xpointer="xpointer(*/*)"/>
+
+<!--
+    Notes:
+
+    The list of available machines is here:
+        http://www.testdrive.hp.com/current.shtml
+    Currently only unix hosts are supported, with hopefully one or more
+    Windows machines to follow.
+
+    <sandbox> specifies the remote machine that will run the job, or it can
+    be 'debug' in which case the sandbox will just echo the commands.
+
+    <builddir> specifies an absolute path on the remote machine for the
+    build, rather than the usual single directory name. The last component
+    also specifies a subdirectory on the master for logs, which as usual
+    must be unique across all slaves.
+
+    An extra build step <setup> is required after <checkout> to set up
+    prerequisites such as ccache and cppunit. Cppunit generally needs to be
+    compiled by the same compiler that will be used for wxWidgets, add
+    configure options using the 'cppunit-options' attribute when needed, e.g.:
+        <setup cppunit-options="CC=cc CXX=CC"/>
+
+    Cross compilers available on the Linux x86 machines (more coming):
+        powerpc-apple-darwin8
+        i686-apple-darwin8
+
+    Please limit the number of quick builds to one unix, one Windows and one
+    Mac per branch. And please don't load up all the cpus of a remote machine
+    at once with make -j.
+-->
+
+<build>
+    <name>Linux x86_64 wxGTK Trunk</name>
+    <sandbox>td162.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_gtk</builddir>
+    <scheduler>trunk_quick</scheduler>
+
+    <steps>
+        <checkout/>
+
+        <setup/>
+        <configure/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-tests/>
+
+        <run-tests/>
+    </steps>
+</build>
+
+<build>
+    <name>Linux x86_64 wxGTK Stable</name>
+    <sandbox>td166.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_gtk_stable</builddir>
+    <scheduler>stable_quick</scheduler>
+
+    <steps>
+        <checkout branch="{$STABLE_BRANCH}"/>
+
+        <setup/>
+        <configure/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-contrib/>
+        <compile-tests/>
+
+        <run-tests/>
+    </steps>
+</build>
+
+<build>
+    <name>OSX PowerPC wxMac Trunk</name>
+    <sandbox>td179.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_mac</builddir>
+    <scheduler>trunk_quick</scheduler>
+
+    <steps>
+        <checkout/>
+
+        <setup cppunit-options="--host=powerpc-apple-darwin8"/>
+        <configure options="--host=powerpc-apple-darwin8"/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-tests/>
+    </steps>
+</build>
+
+<build>
+    <name>OSX Intel wxMac Stable</name>
+    <sandbox>td186.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_mac_stable</builddir>
+    <scheduler>stable_quick</scheduler>
+
+    <steps>
+        <checkout branch="{$STABLE_BRANCH}"/>
+
+        <setup cppunit-options="--host=i686-apple-darwin8"/>
+        <configure options="--host=i686-apple-darwin8"/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-contrib/>
+        <compile-tests/>
+    </steps>
+</build>
+
+<build>
+    <name>FreeBSD x86 wxX11 Stable</name>
+    <sandbox>td152.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_freebsd_stable</builddir>
+    <scheduler>daily_6am</scheduler>
+
+    <steps>
+        <checkout branch="{$STABLE_BRANCH}"/>
+
+        <setup/>
+        <configure options="--with-x11"/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-contrib/>
+        <compile-tests/>
+
+        <run-tests/>
+    </steps>
+</build>
+
+<build>
+    <name>HP-UX 11i PA-RISC gcc wxMotif Stable</name>
+    <sandbox>td192.testdrive.hp.com</sandbox>
+    <builddir>/tmp/wx/td_hpux_pa_stable</builddir>
+    <scheduler>daily_6am</scheduler>
+
+    <steps>
+        <checkout branch="{$STABLE_BRANCH}"/>
+
+        <setup/>
+        <configure/>
+
+        <compile/>
+        <compile-samples/>
+        <compile-utils/>
+        <compile-contrib/>
+        <compile-tests/>
+
+        <run-tests/>
+    </steps>
+</build>
+
+</bot>