Repository Config
checks:
php:
code_rating: true
duplication: true
build_failure_conditions:
- 'project.metric_change("scrutinizer.quality", < -0.10)'
- 'elements.rating(<= D).exists' # No classes/methods with a rating of D or worse
- 'elements.rating(<= D).new.exists' # No new classes/methods with a rating of D or worse allowed
- 'issues.label("coding-style").exists' # No coding style issues allowed
- 'issues.label("coding-style").new.exists' # No new coding style issues allowed
- 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity
- 'issues.severity(>= MAJOR).exists' # New major or higher severity issues
- 'project.metric("scrutinizer.quality", < 9)' # Code Quality Rating drops below 9
- 'project.metric("scrutinizer.test_coverage", < 0.80)' # Code Coverage drops below 80%
- 'project.metric_change("scrutinizer.test_coverage", < -0.1)' # Code Coverage decreased from previous inspection by more than 10%
- 'patches.label("Doc Comments").exists' # No doc comments patches allowed
- 'patches.label("Spacing").exists' # No spacing patches allowed
build:
cache:
directories:
- vendor # Cache for already installed composer package -> speed up composer install
- bin # As vendor directory is cached, bin directory must be also cached (as some dependency will not installed if they are already present and so, related binary will not be linked)
- ~/.composer # Composer home directory (avoid fetching already fetched packages)
dependencies:
before:
# override parameters to use scrutinizer user/password
# Could be ommited if project doesn't require specific configuration (db, rmq, ...) but could anyway added at project beginning to avoid updating scrutinizer configuration when project will need custom configuration
- mv app/config/parameters_scrutinizer.yml.dist app/config/parameters.yml.dist
override:
- composer run-script build-scrutinizer # will launch "composer install" but for CI (no loader optimization compared to the build command for production for instance)
tests:
override:
-
command: composer run-script codestyle # Or "./vendor/bin/phpcs". Anyway do not use the scrutinizer command "phpcs-run" as if some cs error are found this command is not considered as failed command
idle_timeout: 1200
coverage:
file: 'build/coverage/clover.xml'
format: 'php-clover'
tools:
php_analyzer:
enabled: true
config:
checkstyle:
enabled: true
naming:
isser_method_name: ^.*$
utility_class_name: ^.*$
doc_comment_fixes:
enabled: false
reflection_fixes:
enabled: false
use_statement_fixes:
enabled: false
simplify_boolean_return:
enabled: true
external_code_coverage: false
php_code_coverage: false
php_changetracking: true
php_cpd: true
php_cs_fixer: false
php_mess_detector: true
php_pdepend: true
sensiolabs_security_checker: true
filter:
paths:
- src/*
coding_style:
php:
spaces:
before_parentheses:
closure_definition: true
around_operators:
concatenation: false