buddypress/.travis.yml
Paul Gibbs c274893104 Build: scss-lint requires Ruby >= 2.2.0
Travis-CI has started to fail because an underlying `scss-lint` library
we require, now requires a newer version of Ruby (at time of writing,
Ruby 1.9.3 is pre-installed on Travis-CI PHP boxes).

This change updated the Travis-CI build script to use the newer version
of Ruby. It also adds the Ruby gems cache folder to the Travis-CI job
cache to try to minimise the longer set-up time that this change has
incurred.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@11040 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
2016-08-30 09:30:43 +00:00

118 lines
3.5 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
cache:
apt: true
directories:
- $HOME/.composer/cache
- $HOME/.rvm/gems
# - /tmp/wordpress/src/wp-content/plugins/buddypress/node_modules
php:
- 5.2
- 5.3
- 5.4
- 5.5
- 5.6
- 7.0
# 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.5 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.4 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.3 BP_TRAVISCI=travis:phpunit
- WP_VERSION=4.2 BP_TRAVISCI=travis:phpunit
matrix:
fast_finish: true
include:
- php: nightly
env: WP_VERSION=master BP_TRAVISCI=travis:phpunit
- php: 7.0
env: WP_VERSION=master BP_TRAVISCI=travis:grunt
- env: WP_VERSION=master BP_TRAVISCI=travis:codecoverage
php: 7.0
- php: hhvm
sudo: required
dist: trusty
group: edge
addons:
apt:
packages:
- mysql-server-5.6
- mysql-client-core-5.6
- mysql-client-5.6
exclude:
- php: 7.0
env: WP_VERSION=4.2 BP_TRAVISCI=travis:phpunit
allow_failures:
- php: nightly
- php: hhvm
- env: WP_VERSION=master BP_TRAVISCI=travis:codecoverage
# before_install: Failures in this section will result in build status 'errored'
before_install:
# scss-lint requires Ruby >= 2.2
- source ~/.rvm/scripts/rvm && rvm install 2.2.0 && rvm use 2.2.0
# 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
# Disable xdebug if not running codecoverage.
- if [[ "$BP_TRAVISCI" != "travis:codecoverage" ]] ; 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
- gem install scss_lint
# setup NodeJS version using NVM
- node --version
- nvm install 4
- node --version
- npm install -g grunt-cli
- npm --version
- mysql --version
- phpenv versions
- ruby --version
# before_script: Failures in this section will result in build status 'errored'
before_script:
- npm install
# Run tests
script: grunt $BP_TRAVISCI
after_script:
- |
if [[ "$BP_TRAVISCI" == "travis:codecoverage" ]] ; then
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
fi
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=