#pragma section-numbers 2 <> = Buildbot = Mercurial uses [[http://buildbot.net/|Buildbot]] for continuous integration and testing, located at https://buildbot.mercurial-scm.org/. It does automated building and test runs on different systems (OS, Python version) and shows the results. <> == Responsibilities == See [[ProjectInfrastructure#Web_services|ProjectInfrastructure]]. == Useful links == Did my patches pass the tests? (enter the full commit name in the box: {{{your name }}}) https://buildbot.mercurial-scm.org/console Output of the last run of the tests (non stable repo): (../builds/-1/ is currently running or last finished build) https://buildbot.mercurial-scm.org/builders/hg%20tests/builds/-1/steps/run-tests.py%20%28python%202.7.10%29 Which builds did fail and how long did they run? https://buildbot.mercurial-scm.org/waterfall?failures_only=true last failed builds as a feed https://buildbot.mercurial-scm.org/atom?failures_only=true (ideas found on [[https://buildbot.mercurial-scm.org/waterfall/help|waterfall/help]] and [[http://docs.buildbot.net/current/manual/cfg-statustargets.html#buildbot-web-resources|buildbot doc]]) == Setting up a build worker == As of this writing, we have builds running the test suite on Linux and FreeBSD. We would like to run regular builds on more platforms. If you have access to an Internet-connected machine (even behind an firewall) running another platform and you'd like to set up a build worker, the basic steps are: 0. Set up a working Python environment (mainly [[SupportedPythonVersions|Python 2]] is required--we are in the process of porting to [[Python3]] and can run some basic tests if your environment also has that available). virtualenv is recommended for this. 1. Contact mercurial-infrastructure@mercurial-scm.org to coordinate setting up the worker. 2. Exchange a passphrase with the infrastructure team. This will be used for the worker to connect to the buildmaster. 3. Install the buildbot-slave package from PyPI. 4. Run `buildslave create-slave` to create the worker config (see `buildslave create-slave --help` for details). The buildmaster can be reached at `buildbot.mercurial-scm.org:9989`. 5. Fill in the host info as described [[https://docs.buildbot.net/0.8.14/manual/installation.html#creating-a-buildslave|in the Buildbot manual]]. In particular, put your own name in info/admin and a description of the platform (e.g. `Debian GNU/Linux 8.2 (jessie)`) in info/host. 6. Start the worker. It's not necessary to open an incoming port for the buildworker; the worker will contact the buildmaster for instructions. ---- CategoryTesting