103 lines
2.9 KiB
YAML
103 lines
2.9 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
|
|
|
|
git:
|
|
depth: 3
|
|
quiet: true
|
|
|
|
# Cache NPM and Composer directories
|
|
# <https://docs.travis-ci.com/user/caching/>
|
|
cache:
|
|
npm: true
|
|
directories:
|
|
# Composer doesn't have a dedicated cache setting in Travis CI config, so set the directory path instead.
|
|
- vendor
|
|
|
|
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.3
|
|
- 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.3
|
|
- 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
|