buddypress/.travis.yml
Boone B Gorges a7cad6faad Travis CI: Don't install Composer packages on PHP < 5.4.
The phpcompatibility-wp library has requirements that need at least PHP 5.4,
and we only use this library when testing against 7.2, so there's no need
to install on earlier version of PHP.

This will likely have to be revisited at some point in the future, when
we use Composer for more integral parts of the build/dev process.

See #7997.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@12282 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
2018-11-07 16:44:50 +00:00

124 lines
3.8 KiB
YAML

# Travis CI Configuration File
# Use new Travis container-based infrastructure
# http://docs.travis-ci.com/user/workers/container-based-infrastructure/
sudo: false
language: php
dist: trusty
cache:
apt: true
directories:
- $HOME/.composer/cache/files
- $HOME/.npm
- /tmp/node
git:
depth: 10
php:
- 7.2
- 5.6
# WordPress comes from the Git mirror, where 'master' mirrors svn 'trunk' and
# x.y mirrors the latest from the x.y branch
env:
- WP_VERSION=master BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.9 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.8 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.7 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.6 BP_TRAVISCI=travis:phpunit
matrix:
include:
- php: 7.2
env: WP_VERSION=master BP_TRAVISCI=travis:grunt
- php: 7.2
env: WP_VERSION=master BP_TRAVISCI=travis:phpcompat
- php: 5.3
env: WP_VERSION=master BP_TRAVISCI=travis:phpunit
dist: precise
- php: 5.3
env: WP_VERSION=4.8 BP_TRAVISCI=travis:phpunit
dist: precise
- php: 5.3
env: WP_VERSION=4.7 BP_TRAVISCI=travis:phpunit
dist: precise
- php: 5.3
env: WP_VERSION=4.6 BP_TRAVISCI=travis:phpunit
dist: precise
exclude:
- php: 7.2
env: WP_VERSION=4.6 BP_TRAVISCI=travis:phpunit
# before_install: Failures in this section will result in build status 'errored'
before_install:
# set up WP install
- export WP_DEVELOP_DIR=/tmp/wordpress/
- mkdir -p $WP_DEVELOP_DIR
- git clone --depth=1 --branch="$WP_VERSION" git://develop.git.wordpress.org/ $WP_DEVELOP_DIR
- plugin_slug=$(basename $(pwd))
- plugin_dir=$WP_DEVELOP_DIR/src/wp-content/plugins/$plugin_slug
- cd ..
- mv $plugin_slug $plugin_dir
- |
# Remove Xdebug for a huge performance increase:
if [[ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]]; then
phpenv config-rm xdebug.ini
fi
# set up tests config
- cd $WP_DEVELOP_DIR
- echo $WP_DEVELOP_DIR
- cp wp-tests-config-sample.php wp-tests-config.php
- sed -i "s/youremptytestdbnamehere/wordpress_test/" wp-tests-config.php
- sed -i "s/yourusernamehere/root/" wp-tests-config.php
- sed -i "s/yourpasswordhere//" wp-tests-config.php
# set up database
- mysql -e 'CREATE DATABASE wordpress_test;' -uroot
# prepare for running the tests
- cd $plugin_dir
# setup NodeJS version using NVM
- export PATH="$HOME/.composer/vendor/bin:$PATH"
- node --version
- nvm install 6
- node --version
- npm install -g grunt-cli
- npm --version
- mysql --version
- phpenv versions
- php --version
- php -m
- phpunit --version
- curl --version
- grunt --version
- git --version
- svn --version
# before_script: Failures in this section will result in build status 'errored'
before_script:
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then composer global require --dev phpunit/phpunit ^4; fi
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.6" ]]; then composer global require --dev phpunit/phpunit ^5; composer install; fi
- if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]]; then composer global require --dev phpunit/phpunit ^6; composer install; fi
- mkdir -p /tmp/node/node_modules
- ln -s /tmp/node/node_modules $plugin_dir/node_modules
- npm install
# Run tests
script: grunt $BP_TRAVISCI
notifications:
email: false
irc:
channels:
- secure: "Z+gAlyOafrw0Xg294np+7IpqOKTsswGjAWyOZsbzT7Xo8uY1nmz8tTuU50Gpo8jo5HQqG9G0QgI3zB3Cxy3M5dF+J5oLl1lBz1zL0mtHiq1HoXi2cbVnGCCpxtMvYII6UmPUGAg8zvNUQol+cw1jb3PzLwEDfGcDH64o/Z3j8Gg="
template:
- "Build %{build_number} (%{branch} - %{commit}): %{message} %{build_url}"
slack:
secure: JQT+HWoVhLzoG00HmJscYZO+Gy7ywnIlrUbCaI7DxFdFOIkKxsTLLq9cKE4y3VqgZAARTOKjP1eQ7a5OEg1vT11Ow+rB7iUAMNmITxXO4feTOx1i2673xRNBro/SZMhlLd7DY2erbMDZaG9hBQB4xLXRYOvP29pLxf5zTSyZMyE=