language: php
php:
- - hhvm
+ - hhvm-nightly
- 5.3
- - 5.4
- - 5.5
- - 5.6
+env:
+ - dbtype=mysql
+ - dbtype=postgres
+
+# TODO: Travis CI's hhvm does not support PostgreSQL at the moment.
matrix:
- allow_failures:
- - php: 5.3
- - php: 5.4
- - php: 5.5
- - php: 5.6
+ exclude:
+ - php: hhvm-nightly
+ env: dbtype=postgres
services:
- mysql
branches:
- # Test changes in master and in Wikimedia's production branches.
+ # Test changes in master, in Wikimedia's production and in arbitrary
+ # Travis CI branches. The latter allows developers to enable Travis
+ # CI in their GitHub fork of wikimedia/mediawiki and then push
+ # changes they like to test to branches like
+ # "travis-ci/test-this-awesome-change" without having to mess up the
+ # master and wmf/* branches and their defined meaning.
only:
- master
+ - /^travis-ci\/.*$/
- /^wmf\/.*$/
before_install:
- sudo apt-get install -qq djvulibre-bin tidy
+ - composer self-update --quiet --no-interaction
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.*' --prefer-source
+ - composer install --prefer-source --quiet --no-interaction
+ - if [ "$dbtype" = postgres ]; then psql -c "CREATE DATABASE traviswiki WITH OWNER travis;" -U postgres; fi
- >
- php maintenance/install.php testwiki admin
+ php maintenance/install.php traviswiki admin
--pass travis
+ --dbtype "$dbtype"
--dbname traviswiki
--dbuser travis
--dbpass ""
--scriptpath "/w"
script:
- - >
- if [ "$TRAVIS_PHP_VERSION" = "hhvm" ];
- then
- hhvm --php \
- -d include_path=".$(printf ':%s' vendor/phpunit/*)" \
- -d date.timezone="Etc/UTC" \
- tests/phpunit/phpunit.php
- else
- php tests/phpunit/phpunit.php \
- --with-phpunitdir ./vendor/phpunit/phpunit
- fi
+ - php tests/phpunit/phpunit.php
+
+notifications:
+ email: false
+ irc:
+ channels:
+ - "chat.freenode.net#mediawiki-core"
+ - "chat.freenode.net#mediawiki-feed"
+ on_success: change
+ on_failure: change
+ skip_join: true