wiki.techinc.nl/.travis.yml
Timo Tijhof 3baef9f510 build: Update Travis CI config to use fast Trusty containers
We tried this before when Trusty containers were still in Beta,
but the issues we ran into at the time have since been fixed.

1. Missing package djvulibre-bin: Fixed.
   https://github.com/travis-ci/apt-package-whitelist/issues/4036

2. MySQL launch problems: Fixed
   https://github.com/travis-ci/travis-ci/issues/5837
   https://github.com/travis-ci/travis-ci/issues/6842

Also add HHVM 3.18 to the test matrix (latest currently preinstalled
version of HHVM).

Change-Id: I2f56e303c01f069207fb086e784e49292ea4eb58
2017-07-28 18:30:32 -07:00

77 lines
2.1 KiB
YAML

# 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: 5.5
- env: dbtype=postgres dbuser=travis
php: 5.5
# https://docs.travis-ci.com/user/languages/php#HHVM-versions
- env: dbtype=mysql dbuser=root
php: hhvm-3.12
- env: dbtype=mysql dbuser=root
php: hhvm-3.18
- env: dbtype=mysql dbuser=root
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 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"
script:
- php tests/phpunit/phpunit.php
notifications:
email: false
irc:
channels:
- "chat.freenode.net#mediawiki-feed"
on_success: change
on_failure: change
skip_join: true