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:
We have tutorials for adding new checks and extensions.
In addition, an external Jenkins service at CloudBees regularly runs WMF browser tests across multiple browsers at Sauce Labs
Contents
Status[edit | edit source]
-
[edit status] • [add new]2013-12-monthly:This cover November and December. We worked on getting browser tests to be triggered from Gerrit, the first experiment is with UniversalLanguageSelector, we aim to get ones running for VisualEditor. Join the qa mailing list if you want to help!
The gallium continuous integration server has a brother to help it run even more test than before. Lot of work has been done to polish our configuration and make it a bit more secure. An attempt to upgrade Zuul failed because it could not support our workflow (hint: it got upgraded on January 7th). Jenkins jobs are now mostly relying on shell scripts, that makes it easier to do modification of the thousands of jobs we have.
The MediaWiki release scripts have been enhanced and are even triggered whenever we cut a new release to generate a tarball automatically. A PHPUnit test suite written by Markus test basic assumption (see job).
Timo started investigating css linting, the first projects using it being oojs and VisualEditor.
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]
- Open issues for "Continuous integration" in Bugzilla
- 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.