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 - 'issues.label("coding-style").exists' # No coding style issues allowed - '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", < 1)' # Code Coverage must alway be 100% - 'patches.label("Doc Comments").exists' # No doc comments patches allowed - 'patches.label("Spacing").exists' # No spacing patches allowed build: nodes: tests: dependencies: override: - echo 'Tests skipped !' tests: override: - echo 'Tests skipped !' analysis: dependencies: override: - make ci-build tests: stop_on_failure: true override: - php-scrutinizer-run - phpcs-run - command: make test-coverage-clover idle_timeout: 1200 coverage: file: 'build/coverage/clover.xml' format: 'php-clover' cache: directories: - ~/.composer - vendor environment: php: version: "7.1" timezone: UTC checks: php: fix_php_opening_tag: false remove_php_closing_tag: false one_class_per_file: true side_effects_or_types: true no_mixed_inline_html: false require_braces_around_control_structures: true php5_style_constructor: false no_global_keyword: true avoid_usage_of_logical_operators: false psr2_class_declaration: true no_underscore_prefix_in_properties: true no_underscore_prefix_in_methods: true blank_line_after_namespace_declaration: true single_namespace_per_use: false psr2_switch_declaration: true psr2_control_structure_declaration: true avoid_superglobals: true security_vulnerabilities: true no_exit: true simplify_boolean_return: true return_doc_comments: true return_doc_comment_if_not_inferrable: true remove_extra_empty_lines: true properties_in_camelcaps: true phpunit_assertions: true parameters_in_camelcaps: true parameter_doc_comments: true param_doc_comment_if_not_inferrable: true overriding_parameter: true no_short_variable_names: minimum: '3' no_short_method_names: minimum: '3' no_goto: true naming_conventions: local_variable: '^[a-z][a-zA-Z0-9]*$' abstract_class_name: ^Abstract|Factory$ utility_class_name: 'Utils?$' constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$' property_name: '^[a-z][a-zA-Z0-9]*$' method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$' parameter_name: '^[a-z][a-zA-Z0-9]*$' interface_name: '^[A-Z][a-zA-Z0-9]*Interface$' type_name: '^[A-Z][a-zA-Z0-9]*$' exception_name: '^[A-Z][a-zA-Z0-9]*Exception$' isser_method_name: '^(?:is|has|should|may|supports)' more_specific_types_in_doc_comments: true check_method_contracts: verify_interface_like_constraints: true verify_documented_constraints: true verify_parent_constraints: true filter: paths: - src/* coding_style: php: spaces: before_parentheses: closure_definition: true around_operators: concatenation: false