so we're setting up a distributed build-testing system, BuildBot (http://buildbot.sourceforge.net/), for now at
http://bugzilla.spamassassin.org:8010/ (that url may change.) it currently has 4 build slaves, building - trunk using Red Hat 7.3's perl - trunk using vanilla perl 5.6.1 - trunk using vanilla perl 5.8.5 with threading - b3.0 using Red Hat 7.3's perl If you fancy it, and are running an OS different from the above (!), it might be worthwhile setting up a build slave to extend this... non-linux platforms especially would be great. Any platform where "make test" currently passes, or nearly does, would be preferred ;) Notes: - the slave process should be kept up and running as much as possible; it's got to be a persistent daemon. - I'd recommend running as non-root, and not as your own userid. if a miscreant managed to get hostile code into SVN trunk, it'd pretty quickly get run on your machine by this code. - it's not *too* CPU hungry -- but will kick off a compile and "make test" *every time* someone checks something into SpamAssassin svn! so if that puts you off, this isn't for you ;) so pretty much, overall, this requires that you have root on some box which has a 99%-uptime network connection to set a slave up. Process to set up a build slave: -------------------------------- [install Twisted 1.3.0. can be omitted if you already have it, or just use "sudo apt-get install twisted" if you're on debian unstable.] [note that you also need python 2.2 or later installed.] wget http://twistedmatrix.com/downloads/Twisted-1.3.0.tar.bz2 bunzip2 -cd < Twisted-1.3.0.tar.bz2 | tar xvf - cd Twisted-1.3.0 ; sudo python setup.py install cd .. wget http://internap.dl.sourceforge.net/sourceforge/buildbot/buildbot-0.6.1.tar.gz tar xvfz buildbot-0.6.1.tar.gz cd buildbot-0.6.1 ; sudo python setup.py install sudo useradd -c "SpamAssassin Buildbot" buildbot sudo su - buildbot mkdir -p /home/buildbot/slaves [now, you need the buildbot password. ask on the IRC channel and one of the PMC should be able to set you up with one.] PASSWORD=[password] [give your slave a good name, like "debian-stable" or "ubuntu-hoary-perl585"] HOST_OS="hostname-osname" buildbot slave /home/buildbot/slaves/$HOST_OS bugzilla.spamassassin.org:9989 \ $HOST_OS $PASSWORD [and mail dev/at/SpamAssassin.apache.org the $HOST_OS string you've chosen.] [to start the slave process] buildbot start /home/buildbot/slaves/$HOST_OS [to monitor slave progress/errors:] less /home/buildbot/slaves/$HOST_OS/twistd.log [to start at boot in future: add this line to crontab:] @reboot buildbot start /home/buildbot/slaves/hostname-osname --j.
