Move RELEASE-NOTES-1.32 (from REL1_32) into HISTORY
[lhc/web/wiklou.git] / .travis.yml
1 # Travis CI build configuration for MediaWiki
2 # <https://travis-ci.org/wikimedia/mediawiki-core>
3 #
4 # The Wikimedia Foundation uses a self-hosted Jenkins instance to run unit
5 # tests, but it tests code against the version of PHP that is deployed on
6 # Wikimedia's production cluster. This Travis CI configuration is designed to
7 # complement that setup by testing MediaWiki on travis
8 #
9 language: php
10
11
12 # Use fast containers instead of the slower sudo-enabled VMs:
13 sudo: false
14 # Use Ubuntu 14 Trusty (not Ubuntu 12 Precise)
15 # <https://docs.travis-ci.com/user/reference/trusty/>
16 # - Required in order to use HHVM 3.6 or higher.
17 # - Required for non-buggy xml library for XmlTypeCheck/UploadBaseTest (T75176).
18 dist: trusty
19
20 git:
21 depth: 3
22 quiet: true
23
24 # Cache NPM and Composer directories
25 # <https://docs.travis-ci.com/user/caching/>
26 cache:
27 npm: true
28 directories:
29 # Composer doesn't have a dedicated cache setting in Travis CI config, so set the directory path instead.
30 - vendor
31
32 matrix:
33 fast_finish: true
34 include:
35 # On Trusty, mysql user 'travis' doesn't have create database rights
36 # Postgres has no user called 'root'.
37 - env: dbtype=mysql dbuser=root
38 php: 7.3
39 - env: dbtype=mysql dbuser=root
40 php: 7.2
41 - env: dbtype=mysql dbuser=root
42 php: 7.1
43 - env: dbtype=postgres dbuser=travis
44 php: 7.1
45 - env: dbtype=mysql dbuser=root
46 php: 7
47 # https://docs.travis-ci.com/user/languages/php#HHVM-versions
48 - env: dbtype=mysql dbuser=root
49 php: hhvm-3.24
50 - env: dbtype=mysql dbuser=root
51 php: hhvm-3.21
52 - env: dbtype=mysql dbuser=root
53 php: hhvm-3.18
54 allow_failures:
55 - php: 7.3
56 - php: hhvm-3.18
57 - php: hhvm-3.21
58 - php: hhvm-3.24
59
60 services:
61 - mysql
62
63 branches:
64 # Test changes in master and arbitrary Travis CI branches only.
65 # The latter allows developers to enable Travis CI in their GitHub fork of
66 # wikimedia/mediawiki and then push changes for testing to branches like
67 # "travis-ci/test-this-awesome-change".
68 only:
69 - master
70 - /^travis-ci\/.*$/
71
72 addons:
73 apt:
74 packages:
75 - djvulibre-bin
76 - tidy
77
78 before_script:
79 - composer install --prefer-source --quiet --no-interaction
80 - if [ "$dbtype" = postgres ]; then psql -c "CREATE DATABASE traviswiki WITH OWNER travis;" -U postgres; fi
81 - >
82 php maintenance/install.php traviswiki admin
83 --pass travis
84 --dbtype "$dbtype"
85 --dbname traviswiki
86 --dbuser "$dbuser"
87 --dbpass ""
88 --scriptpath "/w"
89 - echo -en "\n\nrequire_once __DIR__ . '/includes/DevelopmentSettings.php';\n" >> ./LocalSettings.php
90 - php -l ./LocalSettings.php
91
92 script:
93 - php tests/phpunit/phpunit.php
94
95 notifications:
96 email: false
97 irc:
98 channels:
99 - "chat.freenode.net#wikimedia-dev"
100 template:
101 - "%{repository}#%{build_number} (%{branch} - %{commit} %{author}): %{message} - %{build_url}"
102 on_success: change
103 on_failure: always