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.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 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/*