Continuous integration

The continuous integration server is a dedicated machine (gallium) that uses Jenkins to control and execute various test builds. All tools are reachable from its homepage:

integration.wikimedia.org Some jobs (such as linters) run on each patch submission to gerrit, others (such as full test suites) run when patches are '+2'd, and others (such as browser tests) run on a schedule.

We have tutorials for adding new checks and extensions.

System health

 * CI hardware performance monitoring at https://tools.wmflabs.org/nagf/?project=integration
 * Icinga monitors for beta labs and tool labs at https://icinga.wikimedia.org/cgi-bin/icinga/status.cgi?host=labmon1001&nostatusheader

Rationale
In order to improve the development process, it was proposed to consolidate a platform to run automated tests systematically at pre-commit or post-commit time.

These tests aim to check that the master branch of our repositories in git remain in an (almost) constantly deployable state. This project also relates to the will to have more frequent code deployments, as continuous integration will give us more confidence in new code if it already passed the automated tests.

Documents
Sub-pages of Continuous Integration: