diff --git a/.travis.yml b/.travis.yml index d6494f0..2f2b158 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,66 @@ language: php +sudo: false +cache: + directories: + - $HOME/.composer/cache/files + - $HOME/symfony-bridge/.phpunit + +env: + global: + - PHPUNIT_FLAGS="-v" + - SYMFONY_PHPUNIT_DIR="$HOME/symfony-bridge/.phpunit" matrix: - fast_finish: true - include: - - php: 5.6 - env: COMPOSER_FLAGS="--prefer-lowest" - - php: 5.6 - - php: 7.0 - - php: 7.1 - - php: 7.2 - - php: 7.3 - - php: hhvm - - php: nightly - allow_failures: - - php: hhvm - - php: nightly + fast_finish: true + include: + # Minimum supported dependencies with the latest and oldest PHP version + - php: 7.3 + env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors" + - php: 5.6 + env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" SYMFONY_DEPRECATIONS_HELPER="weak_vendors" + + # Test the latest stable release + - php: 5.6 + - php: 7.0 + - php: 7.1 + - php: 7.2 + - php: 7.3 + env: COVERAGE=true PHPUNIT_FLAGS="-v --coverage-text" + + # Test LTS versions. This makes sure we do not use Symfony packages with version greater + # than 2 or 3 respectively. Read more at https://github.com/symfony/lts + - php: 7.3 + env: DEPENDENCIES="symfony/lts:^2" + - php: 7.3 + env: DEPENDENCIES="symfony/lts:^3" + + # Latest commit to master + - php: 7.3 + env: STABILITY="dev" + - php: nightly + env: STABILITY="dev" + + allow_failures: + # Dev-master is allowed to fail. + - env: STABILITY="dev" + +before_install: + - if [[ $COVERAGE != true ]]; then phpenv config-rm xdebug.ini || true; fi + - if ! [ -z "$STABILITY" ]; then composer config minimum-stability ${STABILITY}; fi; + - if ! [ -v "$DEPENDENCIES" ]; then composer require --no-update ${DEPENDENCIES}; fi; install: - - composer update --prefer-dist --no-interaction $COMPOSER_FLAGS -script: vendor/bin/phpunit --coverage-clover=coverage.clover + # To be removed when this issue will be resolved: https://github.com/composer/composer/issues/5355 + - if [[ "$COMPOSER_FLAGS" == *"--prefer-lowest"* ]]; then composer update --prefer-dist --no-interaction --prefer-stable --quiet; fi + - composer update ${COMPOSER_FLAGS} --prefer-dist --no-interaction + - ./vendor/bin/simple-phpunit install + +script: + - composer validate --strict --no-check-lock + # simple-phpunit is the PHPUnit wrapper provided by the PHPUnit Bridge component and + # it helps with testing legacy code and deprecations (composer require symfony/phpunit-bridge) + - ./vendor/bin/simple-phpunit $PHPUNIT_FLAGS + after_script: - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage.clover diff --git a/composer.json b/composer.json index 518c4bb..f05e3e0 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "require-dev": { "symfony/framework-bundle": "^2.7|^3.2|^4.1", "symfony/twig-bundle": "^2.7|^3.2|^4.1", - "phpunit/phpunit": "^5" + "symfony/phpunit-bridge": "^3.4|^4.1" }, "suggest": { "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", @@ -33,7 +33,7 @@ "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" }, "scripts": { - "phpunit": "vendor/bin/phpunit --colors=always", + "phpunit": "vendor/bin/simple-phpunit --colors=always", "test": [ "@phpunit" ] diff --git a/tests/BreakpointExtensionTest.php b/tests/BreakpointExtensionTest.php index b76548e..3f88bdf 100644 --- a/tests/BreakpointExtensionTest.php +++ b/tests/BreakpointExtensionTest.php @@ -12,12 +12,12 @@ namespace Ajgl\Twig\Extension\Tests; use Ajgl\Twig\Extension\BreakpointExtension; -use PHPUnit_Framework_TestCase; +use PHPUnit\Framework\TestCase; /** * @author Antonio J. García Lagar */ -class BreakpointExtensionTest extends PHPUnit_Framework_TestCase +class BreakpointExtensionTest extends TestCase { /** * @var BreakpointExtension diff --git a/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php b/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php index 43b7465..d12d528 100644 --- a/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php +++ b/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php @@ -12,13 +12,13 @@ namespace Ajgl\Twig\Extension\Tests\SymfonyBundle\DependencyInjection; use Ajgl\Twig\Extension\SymfonyBundle\DependencyInjection\AjglBreakpointTwigExtensionExtension; -use PHPUnit_Framework_TestCase; +use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\ContainerBuilder; /** * @author Antonio J. García Lagar */ -class AjglBreakpointTwigExtensionExtensionTest extends PHPUnit_Framework_TestCase +class AjglBreakpointTwigExtensionExtensionTest extends TestCase { /** * @var ContainerBuilder