Continuous integration
From MediaWiki.org
Continuous integration
A testing platform to provide continuous quality control for MediaWiki
Group: | Release Engineering |
Team: | Dan Duvall, Timo Tijhof, |
Lead: | Antoine Musso |
The continuous integration infrastructure uses Jenkins (run from gallium) to control and execute builds.
Related services are reachable from its dashboard at integration.wikimedia.org.
Documentation[edit]
- Entry points: Standardised tests for projects.
- Tutorials: Learn how to create and enable Jenkins jobs.
Coordination[edit]
#wikimedia-releng
connect and#wikimedia-dev
connect- Monitoring for Jenkins slaves (Nagf)
- Infrastructure Workboard (Phabricator)
- Git "infrastructure" user group (Gerrit)
Rationale[edit]
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]
- Architecture/Castor
- Architecture/Isolation
- Architecture/Troubleshooting
- Browser tests
- Dev
- Documentation generation
- Entry points
- Git repositories
- Jenkins
- Jenkins job builder
- Legacy server
- Meetings
- Overhaul
- Ownership of Selenium Jenkins job
- PHP CodeSniffer
- Parsoid
- Tutorials
- Tutorials/Adding a MediaWiki extension
- Tutorials/Adding basic checks
- Tutorials/Adding your extension to the shared gate job
- Tutorials/Debian packaging
- Tutorials/Test your Python
- Tutorials/Trigger a job manually
- Virtual Machine
- Workflow
- Workflow v1 specification
- Workflow v2 specification
- Zuul
- Zuul/gearman upgrade
- status
See also[edit]
- Nodepool
- Manual:Unit testing with MediaWiki
- Beta cluster: Automatically updated to latest master of MediaWiki core and extensions when commits are merged.