Checkout Config
filter:
paths:
- src/
excluded_paths:
- bin/
- tests
- var/
dependency_paths:
- vendor/
checks:
php: true
build:
dependencies:
override:
- composer install --no-interaction --prefer-dist --optimize-autoloader
nodes:
composer-file-validation:
dependencies:
override:
- true
tests:
override:
- composer validate
code-standards:
tests:
override:
- ./bin/php-cs-fixer fix --dry-run -v
security-check:
requires:
- branch: master
dependencies:
override:
- true
tests:
override:
- if [ -z "$SCRUTINIZER_PR_SOURCE_BRANCH" ]; then curl -o security-checker.phar https://get.sensiolabs.org/security-checker.phar; fi;
- if [ -z "$SCRUTINIZER_PR_SOURCE_BRANCH" ]; then php security-checker.phar security:check; fi;
phpunit:
requires:
- node: composer-file-validation
- node: code-standards
tests:
override:
- command: ./bin/phpunit --coverage-clover=code-coverage
coverage:
file: code-coverage
format: clover
static-code-analysis:
tests:
override:
- php-scrutinizer-run
environment:
php:
version: 7.2
pecl_extensions:
- zip
build_failure_conditions:
- 'elements.rating(<= D).new.exists' # No new classes/methods with a rating of D or worse.
- 'project.metric("scrutinizer.quality", < 8)' # Code Quality Rating drops below 8.
- 'project.metric("scrutinizer.test_coverage", < 0.80)' # Code Coverage drops below 80%.