From ed7995a37226b777adf81d3a30c0b1b847b127df Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Sun, 22 Dec 2013 21:44:51 -0800 Subject: [PATCH] Add Travis CI job configuration for testing MediaWiki on HHVM Travis CI is a popular continuous integration service that provides free automated testing to FOSS projects. Ten days ago, the HHVM team announced that Travis CI's build environment provides HHVM by default. This patch contains a Travis CI job configuration that runs MediaWiki's test suite using HHVM. Because we replicate changes to GitHub, merging this change and enabling the Travis CI hook in the repository configuration on GitHub will cause Travis CI to run the tests on each commit. Change-Id: Ia18cba5facb7f0b506e962df2f114338af571b8a --- .travis.yml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..84fa456e92 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,46 @@ +# Travis CI build configuration for MediaWiki +# +# +# The Wikimedia Foundation uses a self-hosted Jenkins instance to run unit +# tests, but it tests code against the version of PHP that is deployed on +# Wikimedia's production cluster. This Travis CI configuration is designed to +# complement that setup by testing MediaWiki against HHVM. +# +language: php + +php: + - hhvm + +services: + - mysql + +branches: + # Test changes in master and in Wikimedia's production branches. + only: + - master + - /^wmf\/.*$/ + +before_install: + - sudo apt-get install -qq djvulibre-bin tidy + +before_script: + # Initialise submodules, in case we're testing a Wikimedia production branch. + - git submodule update --init --recursive + # Travis CI's HHVM environment provides PHPUnit as a phar file, but + # MediaWiki's test suite only works if individual PHPUnit files are + # actual files on disk (bug 58881). + - composer require 'phpunit/phpunit=3.7.*' + - > + php maintenance/install.php testwiki admin + --pass travis + --dbname traviswiki + --dbuser travis + --dbpass "" + --scriptpath "/w" + +script: + - > + hhvm --php + -d include_path=".$(printf ':%s' vendor/phpunit/*)" + -d date.timezone="Etc/UTC" + tests/phpunit/phpunit.php -- 2.20.1