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:

Browser tests Dev Documentation generation
Git repositories Jenkins Jenkins job builder
Legacy server Overhaul PHP CodeSniffer
PHP CodeSniffer/initial run Parsoid Running locally
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]