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

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)

Make a build
Making a Wikidata build requires composer to be installed on the system. 


 * run build.sh that is provided

The script clones Wikibase, init submodules in Wikibase-- easyRdf, and runs composer install to pull in dependencies of Wikibase. The vendor directory gets committed here so that composer is not needed to actually make use the build.

Generating the build

 * On instance wikidata-builder1 on https://wikitech.wikimedia.org/wiki/Nova_Resource:Wikidata-build
 * At 10:00 (berlin time) each day
 * Uses the build script from https://github.com/wmde/WikidataBuilder
 * Makes a new commit to https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Wikidata

Testing the build

 * After commit was made, WikidataJenkins runs PHPUnit tests for client and repo, see http://wikidata-jenkins.wmflabs.org/ci/job/wikidata-build-client-tests/ and http://wikidata-jenkins.wmflabs.org/ci/job/wikidata-build-repo-tests/
 * If the tests pass, WikidataJenkins verifies the change on Gerrit and votes +2 on CodeReview.
 * The +2 makes WMF Jenkins on (see https://integration.wikimedia.org/zuul/) run a gate-submit job which again runs some PHPUnit tests and merges the change into master if all tests pass.

Deployment to beta

 * Once the change is merged into master, beta-code-update job starts (see http://integration.wikimedia.org/ci/job/beta-code-update) 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 the job for running browsertests is triggered on https://wikidata-jenkins.wmflabs.org/ci/job/wikidata-browsertests-sauce/
 * The job is delayed by 30 minutes to give the 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 (see https://saucelabs.com) is used to run the tests in various OS/browser combinations
 * On https://saucelabs.com/u/wikidata-saucelabs one can follow the progress of the tests
 * An email will be sent to wikidata-bugs@lists.wikimedia.org when failures occur