Last updated January 17, 2013.

Adding a new testbot is described below.

Yes, this seems complicated by comparison with a simple module. This is the simplest we've been able to make it.

There is a screencast: https://vimeo.com/40406036 (It refers to the former home of this page, but the information should be familiar.)

  1. Install Debian Squeeze 64bit with swap, probably 512MB of swap. We've been using 5 GB and 8GB of disk. The device can be anywhere that can *reach* qa.drupal.org. (Amazon EC2 AMI ami-e00df089 works; Debian AMIs are here; EBS-backed ones are best.)
  2. Give your machine a permanent name ending in -mysql in /etc/hosts and /etc/hostname (my-machine-mysql). Use the primary interface IP address for the hostname in /etc/hosts. If you're building with ganeti, just *start* with a name like "drupaltestbotxxx-mysql.osuosl.test and you'll avoid this pain.
  3. Set the hostname:hostname $(cat /etc/hostname)
  4. apt-get update && apt-get upgrade
  5. aptitude install sudo php-pear puppet
  6. Edit /etc/puppet/puppet.conf to add pluginsync=true to the [main] section.
  7. puppetd --server testbotmaster.devdrupal.org --test
  8. Add any keys you need to ~/.ssh/authorized_keys. A standard set of keys is already provided in authorized_keys2 by puppet
  9. Load the provided default database:
    gzip -dc /tmp/drupaltestbot.sql.gz | mysql drupaltestbot
  10. If you want PIFR to be the git repo (probably), then
    cd /var/lib/drupaltestbot/sites/all/modules
    rm -rf project_issue_file_review
    git clone git://git.drupal.org/project/project_issue_file_review.git --branch 6.x-2.x
    git checkout <tag>
    (as in "git checkout 6.x-2.10")
  11. Visit the site and log in as admin/drupaltesting1
  12. Visit admin/pifr/configuration and configure the client - enter the key you got from qa.drupal.org, and set the concurrency.
  13. You can run tests of any branch, tag, or patch locally (on the testbot itself) using the form at admin/pifr/run-test
  14. Request enabling the testbot on qa.drupal.org and verify that it completes testing.

Comments

You may run into locale

You may run into locale errors ... I got around this by issuing:

sudo locale-gen en_US en_US.UTF-8
dpkg-reconfigure locales
nobody click here