Sort languages by code in Language::fetchLanguageNamesUncached
[lhc/web/wiklou.git] / .travis.yml
index e0a45a1..512d735 100644 (file)
@@ -9,55 +9,59 @@
 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