OS X buildbots and launchd

I can find no evidence that the buildbot installation process given on the wiki will cause the buildbot slave to be restarted after a reboot of the machine. To accomplish this, you should also undertake the work described in
http://buildbot.net/trac/wiki/UsingLaunchd
On my Leopard slave, I created the file /Library/LaunchAgents/org.python.buildbot.slave.plist, and put in it this XML:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>StandardOutPath</key> <string>twistd.log</string> <key>StandardErrorPath</key> <string>twistd-err.log</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin</string> </dict> <key>GroupName</key> <string>daemon</string> <key>KeepAlive</key> <dict> <key>SuccessfulExit</key> <false/> </dict> <key>Label</key> <string>org.python.buildbot.slave</string> <key>ProgramArguments</key> <array> <string>/usr/bin/twistd</string> <string>-no</string> <string>-y</string> <string>/Users/buildbot/buildarea/buildbot.tac</string> </array> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>buildbot</string> <key>WorkingDirectory</key> <string>/Users/buildbot/buildarea</string> </dict> </plist>
Note that I am using the system Python 2.5, and that I have configured the buildbot slave machine to login the "buildbot" account automatically upon boot, which login will cause this daemon to start, and will provide access to the GUI context for testing tk. I've configured it with a locking screensaver that starts immediately; let's see if that works OK.
I've also put "dinsdale.python.org" and "svn.python.org" in /etc/hosts.
Bill

Bill Janssen janssen@parc.com wrote:
I can find no evidence that the buildbot installation process given on the wiki will cause the buildbot slave to be restarted after a reboot of the machine. To accomplish this, you should also undertake the work described in
http://buildbot.net/trac/wiki/UsingLaunchd
On my Leopard slave, I created the file /Library/LaunchAgents/org.python.buildbot.slave.plist, and put in it this XML:
[...]
Note that I am using the system Python 2.5, and that I have configured the buildbot slave machine to login the "buildbot" account automatically upon boot, which login will cause this daemon to start, and will provide access to the GUI context for testing tk. I've configured it with a locking screensaver that starts immediately; let's see if that works OK.
This seems to work. test_tk now passes.
Bill

I've repeated this setup with OS X 10.4 (Tiger). Some changes to the XML file were necessary, because I'd installed a non-system Python, twisted, and zope.interface on this machine, and because on Tiger, launchd daemon were not allowed to set their group ID. Here's the Tiger version, which again goes in /Library/LaunchAgents/org.python.buildbot.slave.plist.
Bill
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>StandardOutPath</key> <string>twistd.log</string> <key>StandardErrorPath</key> <string>twistd-err.log</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/Library/Frameworks/Python.framework/Versions/2.6/bin:/sbin:/usr/sbin:/bin:/usr/bin</string> <key>PYTHONPATH</key> <string>/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages</string> </dict> <key>KeepAlive</key> <dict> <key>SuccessfulExit</key> <false/> </dict> <key>Label</key> <string>org.python.buildbot.slave</string> <key>ProgramArguments</key> <array> <string>/Library/Frameworks/Python.framework/Versions/2.6/bin/twistd</string> <string>-no</string> <string>-y</string> <string>/Users/buildbot/buildarea/buildbot.tac</string> </array> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>buildbot</string> <key>WorkingDirectory</key> <string>/Users/buildbot/buildarea</string> </dict> </plist>
participants (1)
-
Bill Janssen