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)
environment:
# Depends of what the project requires
# arangodb: true
variables:
SYMFONY_ENV: 'test' # In case project use Environment variables
tools:
php_analyzer:
enabled: true
config:
checkstyle:
enabled: false
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/*