# HG changeset patch # User Jeff Hammel # Date 1296623820 28800 # Node ID bba97450cbc2d21b3a598516e33d993e08092347 # Parent c7172ca54dff3c95a9f528e60b75e4d794a6dd19 * update example and templates * more documentation diff -r c7172ca54dff -r bba97450cbc2 README.txt --- a/README.txt Tue Feb 01 19:19:36 2011 -0800 +++ b/README.txt Tue Feb 01 21:17:00 2011 -0800 @@ -51,6 +51,16 @@ Using autobot ------------- +The buildmaster and buildslave are started with +``buildbot start master`` and ``buildslave stop slave``. Respective +``stop`` commands also exist. If you used the ``create-autobot`` +command the generated bot will have a ``restart_buildbot.py`` script +that will stop and start both the master and slave and (if debug is +set) remove the log as well. + +The generated ``master.cfg`` file reads values from an ``master.ini`` +file in the same directory + It is important to remember that continuous integration is a safety net, not a first line of defense. @@ -76,7 +86,8 @@ Adding a New Project -------------------- -Occassionally, you'll need to add a new project to test. +Occassionally, you'll need to add a new project to test. You can add +a ``__init__.py`` file Is your autobot being feisty? @@ -85,11 +96,17 @@ Let me know! I'd like to make autobot a solution that works for all stake-holders, and if you're reading this, that means you! +jhammel@mozilla.com TODO ---- -No software of any size is ever finished +No software of any size is ever finished. Here are a few things I +would like to add: -* singular checkout of repos on slaves -* passing slave environment to master -> MozInfo +* singular checkout of repos on slaves: the slaves should have a + singular master repo that is checked out once for each repo URL, + branch pair. It is then updated as the slaves need and (e.g.) + cloned from there. This should effectively minimize fetch time. + +* slaves should have .ini files indicated by the config diff -r c7172ca54dff -r bba97450cbc2 autobot/template/restart_buildbot.py --- a/autobot/template/restart_buildbot.py Tue Feb 01 19:19:36 2011 -0800 +++ b/autobot/template/restart_buildbot.py Tue Feb 01 21:17:00 2011 -0800 @@ -9,7 +9,8 @@ os.chdir(os.path.abspath(os.path.dirname(sys.argv[0]))) -if {{debug}}: +debug = {{debug}} +if debug: call(['rm', '-f', 'master/twistd.log']) call(['rm', '-f', 'slave/twistd.log']) call(['rm', '-rf', 'slave/full']) @@ -17,5 +18,6 @@ call(['buildslave', 'stop', 'slave']) call(['buildbot', 'start', 'master']) call(['buildslave', 'start', 'slave']) -#sleep(5) -#call(['bash', '${slave}/force-build.sh'] + sys.argv[1:]) + +# could force a build here +# buildbot sendchange ... diff -r c7172ca54dff -r bba97450cbc2 example.ini --- a/example.ini Tue Feb 01 19:19:36 2011 -0800 +++ b/example.ini Tue Feb 01 21:17:00 2011 -0800 @@ -1,17 +1,21 @@ -# example .ini configuration format for buildbot +# example .ini configuration format for autobot [DEFAULT] +# top level values passwd = passwd htmlport = 8010 slaveport = 9010 factories = logparser mozmill profilemanager -enable_email_notification = True -email_extra_recipients = whoever@example.com -clean = False [logparser] [mozmill] -bundle = http:// +git = http://github.com/k0s/mozmill.git#mytestbranch + +[profilemanager] -[profilemanager] \ No newline at end of file +[slave:yourslave] + +[slave:yourotherslave] +# this one only runs logparser +factories = logparser \ No newline at end of file