FIX Update Travis configuration and coverage whitelist

This commit is contained in:
Robbie Averill 2017-07-20 09:30:27 +12:00
parent 84ac94f818
commit ba51a8e8e1
3 changed files with 34 additions and 42 deletions

View File

@ -1,50 +1,39 @@
language: php # See https://github.com/silverstripe/silverstripe-travis-support for setup details
sudo: false sudo: false
addons: language: php
apt:
packages:
- tidy
before_install:
- pip install --user codecov
env: env:
global: global:
# Turn coverage off by default, as it's expensive time wise - COMPOSER_ROOT_VERSION="4.0.x-dev"
- COVERAGE=0
# The path of the module when installed by composer
- MODULE_PATH=blog
matrix: matrix:
include: include:
- php: 5.6 - php: 5.6
env: DB=MYSQL CORE_RELEASE=4 COVERAGE=1 env: DB=MYSQL PHPCS_TEST=1 PHPUNIT_TEST=1
- php: 7.0 - php: 7.0
env: DB=PGSQL CORE_RELEASE=4 env: DB=PGSQL PHPUNIT_TEST=1
- php: 7.1.2 - php: 7.1
env: DB=MYSQL CORE_RELEASE=4 env: DB=MYSQL PHPUNIT_COVERAGE_TEST=1
before_script: before_script:
# Init PHP
- phpenv rehash - phpenv rehash
- composer self-update || true - phpenv config-rm xdebug.ini
- git clone git://github.com/silverstripe/silverstripe-travis-support.git ~/travis-support - echo 'memory_limit = 2G' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss --require "silverstripe/comments" --require "silverstripe/widgets"
- cd ~/builds/ss # Install composer dependencies
- mv "$MODULE_PATH/phpunit.xml.dist" . - composer install --prefer-dist
- composer require --prefer-dist --no-update symfony/config:^3.2 silverstripe/framework:4.0.x-dev silverstripe/cms:4.0.x-dev silverstripe/admin:1.0.x-dev silverstripe/assets:1.0.x-dev silverstripe/versioned:1.0.x-dev
- composer update
- if [[ $DB == PGSQL ]]; then composer require silverstripe/postgresql:2.0.x-dev --prefer-dist; fi
#Execute tests with or without coverage
script: script:
# Execute tests with no coverage. This is the fastest option - if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit tests/; fi
- "if [ \"$COVERAGE\" = \"0\" ]; then vendor/bin/phpunit $MODULE_PATH/tests/; fi" - if [[ $PHPUNIT_COVERAGE_TEST ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml tests/; fi
- if [[ $PHPCS_TEST ]]; then composer run-script lint; fi
# Execute tests with coverage. Do this for a small
- "if [ \"$COVERAGE\" = \"1\" ]; then vendor/bin/phpunit --coverage-clover=coverage.clover $MODULE_PATH/tests/; fi"
# Upload code coverage when tests pass
after_success: after_success:
- "if [ \"$COVERAGE\" = \"1\" ]; then mv coverage.clover ~/build/$TRAVIS_REPO_SLUG/; fi" - if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi
- cd ~/build/$TRAVIS_REPO_SLUG
- "if [ \"$COVERAGE\" = \"1\" ]; then travis_retry codecov; fi"

View File

@ -10,10 +10,13 @@
"require": { "require": {
"silverstripe/cms": "^4.0", "silverstripe/cms": "^4.0",
"silverstripe/lumberjack": "^2.0", "silverstripe/lumberjack": "^2.0",
"silverstripe/tagfield": "^2.0" "silverstripe/tagfield": "^2.0",
"silverstripe/assets": "^1.0@dev",
"silverstripe/asset-admin": "^1.0@dev"
}, },
"require-dev": { "require-dev": {
"phpunit/PHPUnit": "~4.8" "phpunit/PHPUnit": "^5.7",
"squizlabs/php_codesniffer": "*"
}, },
"extra": { "extra": {
"branch-alias": { "branch-alias": {
@ -37,6 +40,10 @@
"silverstripe/widgets": "Some widgets come with the blog which are compatible with the widgets module.", "silverstripe/widgets": "Some widgets come with the blog which are compatible with the widgets module.",
"silverstripe/comments": "This module adds comments to your blog." "silverstripe/comments": "This module adds comments to your blog."
}, },
"scripts": {
"lint": "vendor/bin/phpcs src/ tests/",
"lint-clean": "vendor/bin/phpcbf src/ tests/"
},
"replace": { "replace": {
"micmania1/silverstripe-blog": "*" "micmania1/silverstripe-blog": "*"
}, },

View File

@ -1,17 +1,13 @@
<phpunit bootstrap="framework/tests/bootstrap.php" colors="true"> <phpunit bootstrap="cms/tests/bootstrap.php" colors="true">
<testsuite name="blog"> <testsuite name="blog">
<directory>blog/tests</directory> <directory>tests/</directory>
</testsuite> </testsuite>
<listeners>
<listener class="SilverStripe\Dev\TestListener" />
</listeners>
<filter> <filter>
<whitelist addUncoveredFilesFromWhitelist="true"> <whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">blog/src/</directory> <directory suffix=".php">src/</directory>
<exclude> <exclude>
<directory suffix=".php">blog/tests/</directory> <directory suffix=".php">tests/</directory>
</exclude> </exclude>
</whitelist> </whitelist>
</filter> </filter>