Continuous integration
Group: | Platform |
Start: | |
End: | |
Team: | Chad Horohoe, Timo Tijhof |
Lead: | Antoine Musso |
Status: | See updates |
The continuous integration server is a hardware machine that runs continuous integration builds. The project has been rebuilt from scratch on a dedicated server (gallium) hosted in eqiad (Virginia data center). It hosts Jenkins for job control and execution of unit tests and TestSwarm for distribution and execution QUnit (JavaScript) unit tests.
All tool are reachable from the homepage:
Also have a look at our tutorials.
Contents
Status[edit | edit source]
-
[edit status] • [add new]2013-11-04:Antoine installed in labs Zuul version that uses gearman to trigger jobs and did all the puppet works for it. Will have to test it more thoroughly and schedule an upgrade of the production setup.
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 SVN trunk is 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.
Timeline[edit | edit source]
See also Task management for what else is on the schedule
- End of January 2012: rewrite the way we do jobs in Jenkins. One job to fetch code from SVN/Git, another job to actually run the test. This will make it so that if the checkout fails, it doesn't cause a whole bunch of false failures on tests.
2012:
- Integrate TestSwarm build results into Jenkins for better overview and notification
- Run core JS tests directly into Jenkins using Node.js. Would let us quickly catch JS issues.
- Triage tests and split them in fast and slow groups. The fast group could be used as a pre commit hook.
- Add up code quality metrics such as PHPUnit mess detector.
- Have jenkins automatically creates a job on topic branch creation.
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