forked from wikimedia/mediawiki
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
75 lines (66 loc) · 2.17 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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 Ubuntu 14 Trusty (not Ubuntu 12 Precise)
# <https://docs.travis-ci.com/user/reference/trusty/>
# - Required for non-buggy xml library for XmlTypeCheck/UploadBaseTest (T75176).
dist: trusty
# 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:
- php: 7.2
- php: 7.3
- php: 7.4
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:
- echo 'opcache.enable_cli = 1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- composer install --prefer-source --quiet --no-interaction
# At Travis CI, the mysql user 'travis' doesn't have create database rights, use 'root' instead.
- >
php maintenance/install.php traviswiki admin
--pass somemwadminpassword
--dbtype "mysql"
--dbname traviswiki
--dbuser "root"
--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