language: php sudo: false addons: apt: packages: - tidy before_install: - pip install --user codecov env: global: # Turn coverage off by default, as it's expensive time wise - COVERAGE=0 # The path of the module when installed by composer - MODULE_PATH=blog matrix: include: - php: 5.6 env: DB=MYSQL CORE_RELEASE=4 COVERAGE=1 - php: 7.0 env: DB=PGSQL CORE_RELEASE=4 - php: 7.1.2 env: DB=MYSQL CORE_RELEASE=4 before_script: - phpenv rehash - composer self-update || true - git clone git://github.com/silverstripe/silverstripe-travis-support.git ~/travis-support - php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss --require "silverstripe/comments" --require "silverstripe/widgets" - cd ~/builds/ss - mv "$MODULE_PATH/phpunit.xml.dist" . #Execute tests with or without coverage script: # Execute tests with no coverage. This is the fastest option - "if [ \"$COVERAGE\" = \"0\" ]; then vendor/bin/phpunit $MODULE_PATH/tests/; 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: - "if [ \"$COVERAGE\" = \"1\" ]; then mv coverage.clover ~/build/$TRAVIS_REPO_SLUG/; fi" - cd ~/build/$TRAVIS_REPO_SLUG - "if [ \"$COVERAGE\" = \"1\" ]; then travis_retry codecov; fi"