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
77 lines
2.1 KiB
YAML
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
|