Continuous integration
Group: | Platform |
Start: | |
End: | |
Team: | Chad Horohoe, Timo Tijhof |
Lead: | Antoine Musso |
Status: | See updates |
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:
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.
Status[edit | edit source]
-
[edit status] • [add new]2014-03-monthly:Erik Bernhardson and Chad Horohoe created jobs using Jenkins Job Builder (JJB) based on the tutorials on installing JJB and Adding a MediaWiki extension.
System health[edit | edit source]
- Integration - Nagf Monitoring for Continuous integration slaves.
- labmon1001 - Icinga Icinga monitors for CI slaves, Beta cluster and Tool labs.
Rationale[edit | edit source]
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[edit | edit source]
Sub-pages of Continuous Integration:
See also[edit | edit source]
- Continuous integration project in Phabricator (Workboard for open issues)
- integration user group in Gerrit
- Manual:Unit testing
- the Beta cluster is constantly updated with the latest code from git master for MediaWiki core and many extensions.