# Travis CI build configuration for MediaWiki # # # 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) # # - Required for non-buggy xml library for XmlTypeCheck/UploadBaseTest (T75176). dist: trusty # Cache NPM and Composer directories # 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.3 - php: 7.2 - php: 7.1 - 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: - 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 travis --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