Size: 3401
Comment: converted to 1.6 markup
|
Size: 4096
Comment: updating the buildbot setup guidelines
|
Deletions are marked like this. | Additions are marked like this. |
Line 31: | Line 31: |
You need to fetch the latest [[http://buildbot.sf.net|buildbot source]]. It requires Python and Twisted. | You need to install a recent version of [[http://buildbot.net/|Buildbot]]. If your OS has a packaging system (e.g. under Linux), it is probably available from the standard repositories. Otherwise, you'll have to build it from source (in which case you'll have to install Python and Twisted first). |
Line 33: | Line 33: |
A buildslave also needs subversion, and it needs to be able to build Python. | A buildslave also needs the subversion client, and it needs to be able to build Python and some of its extension modules. It means you should have the standard development tools installed (compiler, linker), and the development headers for a couple of third-party libraries (such as zlib and OpenSSL). |
Line 35: | Line 35: |
Unpack and install it. Create a new user "buildbot" (highly recommended) |
Once all this is done, create a new user "buildbot" if it doesn't exist (your package manager might have done it for you). Then: |
Line 42: | Line 40: |
% buildbot slave `pwd`/buildarea dinsdale.python.org:9020 slavename slavepasswd | % buildbot create-slave `pwd`/buildarea dinsdale.python.org:9020 slavename slavepasswd |
Line 45: | Line 43: |
You'll need to get someone to create the slavename/slavepasswd on dinsdale.python.org before doing this. Talk to someone like Martin, Anthony or Neal to do this. | You'll need to get someone to create the slavename/slavepasswd on dinsdale.python.org before doing this. Talk to someone like Martin von Löwis, Anthony or Neal Norwitz to do this. |
Line 49: | Line 47: |
Finally, start buildbot with: | Finally, start buildbot (still under the 'buildbot' user) with: |
Line 54: | Line 52: |
Once the buildbot is running, don't forget to monitor the [[http://www.python.org/dev/buildbot/|build results]] and solve any setup issues causing test failures. |
This page contains general information about the Python BuildBot setup and issues.
There are several unstable tests and other issues. These are not problems with BuildBot, but rather are problems with Python and/or the environment it is built/run in.
Platform |
Version |
Issue |
Mac OS X 10.3 |
2.[45] |
getaddrinfo configure check fails sometimes |
cygwin |
2.5 |
test_bsddb3 crashes interpreter (old version of BSD DB?), test_curses is skipped, test_logging, test_socketserver fail |
OpenBSD (x86) |
2.4 |
test_compare fails sometimes probably due to missing backport of fixes to test for negative address handling |
Ubuntu (hppa) |
2.5 |
test_fork1, test_wait[34] fail (crash) sometimes on hppa |
Tru64 (alpha) |
2.[45] |
test_signal fails (hangs) sometimes. The minimal set I was able to use to reproduce: test_thread test_audioop test_tcl test_ctypes test_runpy test_zipfile test_decimal test_fork1 test_signal |
S/390 |
2.[45] |
test_socket_ssl fails due to not being able to connect to gmail.org:995 (I don't think this is true any longer) |
All |
2.[45] |
Berkeley DB 3.2 is killed when running test_bsddb3, test_bsddb fails |
All |
2.[45] |
test_socket{,ssl,_server} fail if another test instance is running |
Here's a list of currently unexplained test failures:
- None?
We need to add more platforms (and compilers!) to the BuildBot farm. If you have one of these machines you are willing to run BuildBot on, please contact python-dev@python.org:
Windows (and see BuildbotOnWindows)
- AIX
- HP-UX
- FreeBSD, NetBSD
It might also be beneficial to run on older versions of operating systems or others not mentioned above. Feel free to contact us if you would like to offer another type of system.
Installing a buildslave
You need to install a recent version of Buildbot. If your OS has a packaging system (e.g. under Linux), it is probably available from the standard repositories. Otherwise, you'll have to build it from source (in which case you'll have to install Python and Twisted first).
A buildslave also needs the subversion client, and it needs to be able to build Python and some of its extension modules. It means you should have the standard development tools installed (compiler, linker), and the development headers for a couple of third-party libraries (such as zlib and OpenSSL).
Once all this is done, create a new user "buildbot" if it doesn't exist (your package manager might have done it for you). Then:
% su - buildbot % mkdir buildarea % buildbot create-slave `pwd`/buildarea dinsdale.python.org:9020 slavename slavepasswd
You'll need to get someone to create the slavename/slavepasswd on dinsdale.python.org before doing this. Talk to someone like Martin von Löwis, Anthony or Neal Norwitz to do this.
Then edit buildarea/info/admin and buildarea/info/host to set them appropriately.
Finally, start buildbot (still under the 'buildbot' user) with:
% buildbot start ~/buildarea
Once the buildbot is running, don't forget to monitor the build results and solve any setup issues causing test failures.
Required ports
In order for the buildbot to operate properly, it needs access to various TCP ports on the internet. Below is a list of known ports and hosts.
Port |
Host |
Description |
80 |
python.org |
test_urllibnet |
995 |
gmail.org |
test_socket_ssl |
50007 |
localhost |
test_socket |
50008 |
(listen) |
test_socket |
9020 |
python.org |
Buildbot connection |
9020 |
localhost |
test_logging will try up to 9120 |
54322 |
localhost |
test_asynchat |