aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 9062194628ab1e4006ec582859996349f77f7373 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Travis CI build configuration for MediaWiki
# <https://travis-ci.org/wikimedia/mediawiki-core>
#
# 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 on travis
#
language: php

matrix:
  fast_finish: true
  include:
    - env: dbtype=mysql
      php: 5.5
    - env: dbtype=postgres
      php: 5.5
    - env: dbtype=mysql
      php: hhvm
    - env: dbtype=mysql
      php: 7

services:
  - mysql

branches:
  # Test changes in master and arbitrary Travis CI branches only.
  # 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".
  only:
    - master
    - /^travis-ci\/.*$/

before_install:
  - sudo apt-get install -qq djvulibre-bin tidy
  - composer self-update --quiet --no-interaction

before_script:
  - 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 traviswiki admin
      --pass travis
      --dbtype "$dbtype"
      --dbname traviswiki
      --dbuser travis
      --dbpass ""
      --scriptpath "/w"

script:
  - 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