123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- # 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
- # Use fast containers instead of the slower sudo-enabled VMs:
- sudo: false
- # Use Ubuntu 14 Trusty (not Ubuntu 12 Precise)
- # <https://docs.travis-ci.com/user/reference/trusty/>
- # - Required in order to use HHVM 3.6 or higher.
- # - Required for non-buggy xml library for XmlTypeCheck/UploadBaseTest (T75176).
- dist: trusty
- matrix:
- fast_finish: true
- include:
- # On Trusty, mysql user 'travis' doesn't have create database rights
- # Postgres has no user called 'root'.
- - env: dbtype=mysql dbuser=root
- php: 7.2
- - env: dbtype=mysql dbuser=root
- php: 7.1
- - env: dbtype=postgres dbuser=travis
- php: 7.1
- - env: dbtype=mysql dbuser=root
- php: 7
- # https://docs.travis-ci.com/user/languages/php#HHVM-versions
- - env: dbtype=mysql dbuser=root
- php: hhvm-3.24
- - env: dbtype=mysql dbuser=root
- php: hhvm-3.21
- - env: dbtype=mysql dbuser=root
- php: hhvm-3.18
- allow_failures:
- - php: 7.2
- - php: hhvm-3.18
- - php: hhvm-3.21
- - php: hhvm-3.24
- 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 for testing to branches like
- # "travis-ci/test-this-awesome-change".
- only:
- - master
- - /^travis-ci\/.*$/
- addons:
- apt:
- packages:
- - djvulibre-bin
- - tidy
- 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 "$dbuser"
- --dbpass ""
- --scriptpath "/w"
- - echo -en "\n\nrequire_once __DIR__ . '/includes/DevelopmentSettings.php';\n" >> ./LocalSettings.php
- - php -l ./LocalSettings.php
- script:
- - php tests/phpunit/phpunit.php
- notifications:
- email: false
- irc:
- channels:
- - "chat.freenode.net#wikimedia-dev"
- template:
- - "%{repository}#%{build_number} (%{branch} - %{commit} %{author}): %{message} - %{build_url}"
- on_success: change
- on_failure: always
|