Continuous integration/Git repositories
The continuous integration team uses several git repositories for each project, this page attempt to give a bit more explanation that the short description listed in Gerrit.
Active repositories
- integration/config: Wikimedia configuration files for Jenkins Job Builder and Zuul. Holds everything needed to regenerate our jobs in Jenkins, and the workflow specification for continuous integration (aka which jobs get triggered on a Gerrit event).
- integration/docroot: Files for https://integration.wikimedia.org/
- integration/zuul: A fork of OpenStack Zuul software. This lets us grab patches still pending review upstream or which are not suitable there. The repository is updated from time to time and is deployed on Wikimedia production.
Former repositories
- integration/consistency: Meant to verify the configuration of Jenkins/Zuul/Gerrit. Work in progress as of August 2013.
- integration/bundler: A copy of http://bundler.io/ a ruby system used by browsertests.
- integration/doc: Holds various source files used to update the Continuous integration documentation pages on mediawiki.org. An example would be a foreign format used to generate an SVG file.
- integration/jenkins: Contained re-usable utility scripts and shell wrappers to conduct tasks in our Jenkins jobs. It also contained a copy of the Jenkins jobs configuration. These have since been migrated to JJB templates in the integration/config repository since 2013.
- integration/jenkins-job-builder: A mirror of OpenStack Jenkins Job Builder software. This let us grab patches still pending review upstream. The repository was updated from time to time based on latest upstream master.
- integration/junitdiff: Compare two junit test result files to attempt to find out what has been changed. It was used by the Parsoid project to find out potential regressions when submitting patchsets.
- integration/phpcs: A mirror of PHP CodeSniffer installed on a developer machine via composer. It was used to safely deploy PHP CodeSniffer to Jenkins slaves without having to rely on a third party.
- integration/phpunit: A copy of PHPUnit installed on a developer machine via composer. It was used to safely deploy PHPUnit to Jenkins slaves without having to rely on a third party.