Continuous integration

From MediaWiki.org
Jump to: navigation, search

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.

Status[edit | edit source]

System health[edit | edit source]

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:

Architecture/Isolation Browser tests Dev
Documentation generation Git repositories Jenkins
Jenkins job builder Legacy server Overhaul
PHP CodeSniffer PHP CodeSniffer/initial run Parsoid
Running locally Test entry points Tutorials
Tutorials/Adding a MediaWiki extension Tutorials/Adding basic checks Tutorials/Instance as a Jenkins slave
Tutorials/Test your python Tutorials/Trigger a job manually Virtual Machine
Workflow Workflow v1 specification Workflow v2 specification
Zuul Zuul/gearman upgrade grunt
status

See also[edit | edit source]