Differences between revisions 3 and 5 (spanning 2 versions)
Revision 3 as of 2016-08-08 00:02:15
Size: 1132
Editor: PulkitGoyal
Comment:
Revision 5 as of 2017-04-04 15:18:09
Size: 2745
Editor: KevinBullock
Comment: clean up per WikiStyleGuide and add steps to set up buildworker
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2
Line 4: Line 5:
Mercurial buildbot is located at http://hgbuildbot.kublai.com/ Mercurial uses [[http://buildbot.net/|Buildbot]] for continuous integration and testing, located at https://buildbot.mercurial-scm.org/.
Line 6: Line 7:
It does automated building and test runs on different systems (os, python version) and show the results. It does automated building and test runs on different systems (OS, Python version) and shows the results.
Line 8: Line 9:
== useful links on buildbot == <<TableOfContents>>

== Responsibilities ==
See [[ProjectInfrastructure#Web_services|ProjectInfrastructure]].

== Useful links ==
Line 10: Line 16:
  http://hgbuildbot.kublai.com/console   https://buildbot.mercurial-scm.org/console
Line 12: Line 18:
Output of the last run of the tests (non stable repo) on windows: (../builds/-1/ is last build)
  http://hgbuildbot.kublai.com/builders/Windows%202008%20R2%20hg%20tests/builds/-1/steps/run-tests.py%20%28python2.6%29/logs/stdio
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
Line 16: Line 22:
  http://hgbuildbot.kublai.com/waterfall?failures_only=true   https://buildbot.mercurial-scm.org/waterfall?failures_only=true
Line 19: Line 25:
  http://hgbuildbot.kublai.com/atom?failures_only=true   https://buildbot.mercurial-scm.org/atom?failures_only=true
Line 21: Line 27:
(ideas found on [[http://hgbuildbot.kublai.com/waterfall/help|waterfall/help]] and [[http://docs.buildbot.net/current/manual/cfg-statustargets.html#buildbot-web-resources|buildbot doc]]) (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]])
Line 23: Line 29:
== responsibilities ==
see in [[ProjectInfrastructure#Web_services|ProjectInfrastructure]]
== 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.

Note:

This page is primarily intended for developers of Mercurial.

Buildbot

Mercurial uses 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.

1. Responsibilities

See ProjectInfrastructure.

Did my patches pass the tests? (enter the full commit name in the box: your name <email@example.com>)

Output of the last run of the tests (non stable repo): (../builds/-1/ is currently running or last finished build)

Which builds did fail and how long did they run?

last failed builds as a feed

(ideas found on waterfall/help and buildbot doc)

3. 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:

  1. Set up a working Python environment (mainly 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.

  2. Contact mercurial-infrastructure@mercurial-scm.org to coordinate setting up the worker.

  3. Exchange a passphrase with the infrastructure team. This will be used for the worker to connect to the buildmaster.
  4. Install the buildbot-slave package from PyPI.
  5. 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.

  6. Fill in the host info as described 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.

  7. Start the worker.

It's not necessary to open an incoming port for the buildworker; the worker will contact the buildmaster for instructions.


CategoryTesting

Buildbot (last edited 2017-04-04 15:18:09 by KevinBullock)