Continuous integration

The continuous integration infrastructure uses Jenkins to control and execute builds. The main use is to run tests on patches submitted on Gerrit.

Related services are reachable from its dashboard at integration.wikimedia.org.

Documentation

 * Entry points: Standardised tests for projects.
 * Tutorials: Learn how to create and enable Jenkins jobs.

Coordination

 * and
 * Monitoring for Jenkins slaves (Nagf)
 * Infrastructure Workboard (Phabricator)
 * Git "integration" user group (Gerrit)

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.