Continuous integration/Legacy server
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.
Any user can start a new build by navigating to http://ci.tesla.usability.wikimedia.org/cruisecontrol/index (accessible by clicking on phpUnderControl logo) and clicking on the run button. In case of failed builds codurr will post a rant to connect.
For server admins
FIXME probably no longer true. We have ton of local modifications.
The CC configuration is maintained at <http://svn.wikimedia.org/svnroot/mediawiki/trunk/test-server/>. At the moment CC is not configured to automatically update it from SVN, so you need to manually change it at /home/ci/cruisecontrol-bin-2.8.3/. To make it catch changes in build.xml, you may need to run
sudo -u ci ant
The parser tests suite generates lot of temporary files in /tmp/. It has a bug somewhere that makes it NOT deleting the file, thus the disk inode capacity rapidly fil up to 100% usage. A work around has been setup to delete the files from the ci user crontab:
ci@ci:~$ crontab -l # m h dom mon dow command 07,27,47 * * * * rm -R /tmp/mwParser* >/dev/null 2>&1 ci@ci:~$
Any extension hosted in our SVN can be included into tests. Currently tested extensions are listed here.
MediaWiki provides extensions with two ways of extending core tests, both of which can be used:
- $wgParserTestFiles - convenient for extensions that extend wikitext syntax. (currently broken)
- UnitTestsList hook for extensions that use PHPUnit.
- Extensions must support installation by simply requireing its setup file in LocalSettings.php.
- If the extension needs to setup extra DB tables, it should be possible to perform with maintenance/update.php (use the LoadExtensionSchemaUpdates hook).
- Extensions should support SQLite which is used on the server. If extra tables are needed for normal operation, but not for tests, extensions should take care to at least not break update.php.
- Extensions should support running tests when not under extensions/ directory in MediaWiki installation root.