Extension:Wikidata build

Wikidata is using a build with Wikibase and it's dependencies packaged into one git repo. 

Installation

 * clone the git repo into the mediawiki extensions directory

Add the following line to your LocalSettings.php

This entry point in turn loads all other entry points

to enable repo please add the following

to enable client please add the following

Configuration
Wikibase itself needs to be configured, with appropriate settings. See the below links:


 * Extension:Wikibase Repository
 * Extension:Wikibase Client

Using this repo provides extra options to allow you to choose to deploy the Repo and/or Client.

Maintenance scripts
The Maintenance scripts help within this repo will not work if you do not have the environment variable **MW_INSTALL_PATH** defined.

If you do not and can not define this variable please use the **runScript.php** maintenance script within mediawiki core (see comments in that file for instructions)

Generating the build

 * The build is triggered by a cronjob on the wikidata-builder1 instance at 10:00 AM (UTC) each day.
 * The build script from https://github.com/wmde/WikidataBuilder is used to generate the build.
 * The build is then pushed to a new commit in the Wikidata repository on Gerrit.

Testing the build

 * After a new commit was made, WikidataJenkins runs PHPUnit tests for client and repo with experimental mode enabled and for client and repo with experimental set to false.
 * If the tests pass, WikidataJenkins verifies the change on Gerrit and votes +2 on CodeReview.
 * The +2 makes WMF Jenkins run a gate-submit job which again runs some PHPUnit tests and then merges the change into master.

Deployment to beta

 * Once the change is merged into master, beta-code-update job starts and deploys the new Wikidata build to https://wikidata.beta.wmflabs.org.
 * This takes about 15 minutes and can be verified by checking the version of the Wikidata build on http://wikidata.beta.wmflabs.org/wiki/Special:Version.

Browsertesting the new build on beta

 * Whenever a new build is merged into master a job for running browsertests is triggered.
 * The job is delayed by 30 minutes to give beta-code-updater enough time to finish deployment on beta.
 * This job runs a set of browsertests (Selenium) targeting the new build on beta.
 * Saucelabs is used to run the tests in Firefox on Linux.
 * One can follow the progress of the tests on https://saucelabs.com/u/wikidata-saucelabs.
 * TODO: An email is sent to wikidata-bugs@lists.wikimedia.org when failures occur.

Manually update a build
Manually updating a Wikidata build requires composer to be installed on the system. 

In the root Wikidata "extension" directory, run: