a935e310ff
- Remove HHVM HHVM recently announced ending PHP support: https://hhvm.com/blog/2018/09/12/end-of-php-support-future-of-hack.html "HHVM v3.30 will be the last release series where HHVM aims to support PHP. [...] Ultimately, we recommend that projects either migrate entirely to the Hack language, or entirely to PHP7 and the PHP runtime." RSS-Bridge never "officially" supported HHVM, so support can be removed. - Use composer for all versions PHP 5.6 is using PEAR, while all other versions use Composer to manage packages and dependencies. This commit removes PEAR for PHP 5.6 in favor of Composer. This also simplifies the script. - Add PHP compatibility tests Uses https://github.com/PHPCompatibility/PHPCompatibility RSS-Bridge supports PHP 5.6 or higher. This commit adds tests to check compatibility and detect breaking changes. "phpcompatibility.xml" contains the ruleset. Notice: Technically RSS-Bridge requires PHP 5.6.1, but for some reason PHPCompatibility doesn't accept "5.6.1" for "testVersion". This is why INI_SCANNER_TYPED is excluded from tests. - Rearrange tests PHP 5.6: - Coding style (phpcs.xml) - PHP compatibility (phpcompatibility.xml) PHP 7.0: - Coding style (phpcs.xml) - Unit tests (phpunit.xml) - using stable release of PHPUnit PHP nightly: - Coding style (phpcs.xml) - Unit tests (phpunit.xml) - using latest version of PHPUnit - PHP compatibility - no exceptions for PHP 5.6+ - Documentation added to improve maintainability
45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
dist: trusty
|
|
sudo: false
|
|
language: php
|
|
|
|
install:
|
|
- composer global require dealerdirect/phpcodesniffer-composer-installer;
|
|
- composer global require phpcompatibility/php-compatibility;
|
|
# Use PHPUnit 6 for unit tests (stable), requires PHP 7
|
|
- if [[ $TRAVIS_PHP_VERSION == "7.0" ]]; then
|
|
composer global require phpunit/phpunit ^6;
|
|
fi
|
|
# Use latest PHPUnit on nightly to detect breaking changes
|
|
- if [[ $TRAVIS_PHP_VERSION == "nightly" ]]; then
|
|
composer global require phpunit/phpunit;
|
|
fi
|
|
|
|
script:
|
|
- phpenv rehash
|
|
# Run PHP_CodeSniffer on all versions
|
|
- ~/.composer/vendor/bin/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p;
|
|
# Check PHP compatibility for the lowest supported version
|
|
- if [[ $TRAVIS_PHP_VERSION == "5.6" ]]; then
|
|
~/.composer/vendor/bin/phpcs . --standard=phpcompatibility.xml --warning-severity=0 --extensions=php -p;
|
|
fi
|
|
# Run unit tests (stable)
|
|
- if [[ $TRAVIS_PHP_VERSION == "7.0" ]]; then
|
|
phpunit --configuration=phpunit.xml --include-path=lib/;
|
|
fi
|
|
# Run unit tests (latest/nightly)
|
|
# Check PHP compatibility for all versions, starting at the lowest supported version in order to detect breaking changes
|
|
- if [[ $TRAVIS_PHP_VERSION == "nightly" ]]; then
|
|
phpunit --configuration=phpunit.xml --include-path=lib/;
|
|
~/.composer/vendor/bin/phpcs . --standard=PHPCompatibility --warning-severity=0 --extensions=php -p --runtime-set testVersion 5.6-;
|
|
fi
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
|
|
include:
|
|
- php: 5.6
|
|
- php: 7.0
|
|
- php: nightly
|
|
|
|
allow_failures:
|
|
- php: nightly
|