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.


 * integration/consistency.git
 * Meant to verify the configuration of Jenkins/Zuul/Gerrit. Work in progress as of August 2013.


 * integration/bundler.git
 * A copy of http://bundler.io/ a ruby system used by browsertests.


 * integration/doc.git
 * 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/docroot.git
 * Files for https://integration.wikimedia.org/


 * integration/grunt-contrib-wikimedia
 * A set of tasks to be used with Grunt (the nodejs task-based command line build tool).


 * integration/gruntjs (mirror)
 * A copy of upstream gruntjs software. We do not use npm in production and thus manually snapshot the grunt NPM module and all its dependencies. To deploy an update to this copy, we simply update the submodule reference for integration/gruntjs in integration/jenkins.


 * integration/jenkins
 * Contains various utilities used by Jenkins jobs and shell wrapper to conduct tasks. It used to contains a copy of the Jenkins jobs configuration, most of them have been migrated to Jenkins Job Builder templates in 2013.


 * integration/jenkins-job-builder (mirror)
 * A copy of OpenStack Jenkins Job Builder software. This lets us grab patches still pending review upstream. The repository is updated from time to time based on latest upstream master.


 * integration/jenkins-job-builder-config
 * Wikimedia configuration files for Jenkins Job Builder. Holds everything needed to regenerate our jobs in Jenkins.


 * integration/junitdiff
 * Compare two junit test result files to attempt to find out what has been changed. It is used by the Parsoid project to find out potential regressions when submitting patchsets.


 * integration/phantomjs
 * An install of phantomjs made with NPM on a Ubuntu Precise instance. Deployed on labs slaves via git::clone puppet define


 * integration/testswarm
 * Helper script for JQuery testswarm. No longer used as of December 2012. Will be migrated to Grunt tasks under integration/grunt-contrib-wikimedia.


 * integration/phpcs
 * A copy of PHP CodeSniffer installed on a developer machine via composer. 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. Used to safely deploy PHPUnit to Jenkins slaves without having to rely on a third party.


 * integration/zuul (fork)
 * 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.


 * integration/zuul-config
 * Wikimedia configuration file for Zuul. Holds the workflow specification for continuous integration (aka which jobs get triggered on a Gerrit event).