build: nodes: analysis: environment: variables: COMPOSER_ROOT_VERSION: 2.0 php: version: 8.1 ini: xdebug.mode: coverage tests: override: - php-scrutinizer-run standalone-tests-with-decimal: environment: apt_packages: - libmpdec-dev variables: COMPOSER_ROOT_VERSION: 2.0 php: version: 8.1 ini: xdebug.mode: coverage requires: - node: analysis tests: before: - mkdir build - mkdir build/logs - pecl install decimal override: - command: php vendor/bin/phpunit coverage: file: build/logs/coverage.clover format: clover standalone-tests-with-bcmath: environment: variables: COMPOSER_ROOT_VERSION: 2.0 php: version: 8.1 ini: xdebug.mode: coverage requires: - node: standalone-tests-with-decimal tests: before: - mkdir build - mkdir build/logs override: - command: php vendor/bin/phpunit coverage: file: build/logs/coverage.clover format: clover build_failure_conditions: - 'project.metric_change("scrutinizer.test_coverage", < -0.05)' - 'project.metric("scrutinizer.test_coverage", < 0.70)' - 'project.metric("scrutinizer.quality", < 8)'
filter: excluded_paths: - 'tests/*' - 'tests-with-modules/*' - 'site/*' - 'docs/*' - 'vendor/*' - 'tests-with-decimal/*' - 'tests-bench/*' checks: php: true coding_style: php: indentation: general: use_tabs: false size: 4 switch: indent_case: true spaces: general: linefeed_character: return-newline before_parentheses: function_declaration: false closure_definition: false function_call: false if: true for: true while: true switch: true catch: true array_initializer: false around_operators: assignment: true logical: true equality: true relational: true bitwise: true additive: false multiplicative: false shift: true unary_additive: false concatenation: false negation: false before_left_brace: class: true function: true if: true else: true for: true while: true do: true switch: true try: true catch: true finally: true before_keywords: else: true while: true catch: true finally: true within: brackets: false array_initializer: false grouping: false function_call: false function_declaration: false if: false for: false while: false switch: false catch: false type_cast: false ternary_operator: before_condition: true after_condition: true before_alternative: true after_alternative: true in_short_version: false other: before_comma: false after_comma: true before_semicolon: false after_semicolon: false after_type_cast: false braces: classes_functions: class: undefined function: undefined closure: undefined if: opening: undefined always: true else_on_new_line: false for: opening: undefined always: true while: opening: undefined always: true do_while: opening: undefined always: true while_on_new_line: false switch: opening: undefined try: opening: undefined catch_on_new_line: false finally_on_new_line: false upper_lower_casing: keywords: general: lower constants: true_false_null: lower build: nodes: analysis: tests: override: - command: phpcs-run use_website_config: false - php-scrutinizer-run
checks: php: verify_property_names: true verify_argument_usable_as_reference: true verify_access_scope_valid: true variable_existence: true useless_calls: true use_statement_alias_conflict: true use_self_instead_of_fqcn: true uppercase_constants: true unused_variables: true unused_properties: true unused_parameters: true unused_methods: true unreachable_code: true too_many_arguments: true switch_fallthrough_commented: true sql_injection_vulnerabilities: true single_namespace_per_use: true simplify_boolean_return: true side_effects_or_types: true security_vulnerabilities: true return_doc_comments: true return_doc_comment_if_not_inferrable: true require_scope_for_properties: true require_scope_for_methods: true require_php_tag_first: true psr2_switch_declaration: true psr2_class_declaration: true property_assignments: true properties_in_camelcaps: true prefer_while_loop_over_for_loop: true php5_style_constructor: true phpunit_assertions: true precedence_mistakes: true precedence_in_conditions: true parse_doc_comments: true parameters_in_camelcaps: true parameter_non_unique: true parameter_doc_comments: true param_doc_comment_if_not_inferrable: true overriding_private_members: true optional_parameters_at_the_end: true one_class_per_file: true non_commented_empty_catch_block: true no_unnecessary_if: true no_unnecessary_final_modifier: true no_underscore_prefix_in_properties: true no_underscore_prefix_in_methods: true no_trait_type_hints: true no_trailing_whitespace: true no_short_variable_names: minimum: '3' no_short_open_tag: true no_property_on_interface: true no_short_method_names: minimum: '3' no_non_implemented_abstract_methods: true no_new_line_at_end_of_file: true no_long_variable_names: maximum: '20' no_goto: true no_global_keyword: true no_exit: true no_eval: true no_error_suppression: true no_empty_statements: true no_duplicate_arguments: true no_debug_code: true no_commented_out_code: 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 missing_arguments: true method_calls_on_non_object: true instanceof_class_exists: true function_in_camel_caps: true foreach_usable_as_reference: true foreach_traversable: true fix_use_statements: remove_unused: true preserve_multiple: false preserve_blanklines: false order_alphabetically: false encourage_single_quotes: true encourage_shallow_comparison: true encourage_postdec_operator: true duplication: true deprecated_code_usage: true deadlock_detection_in_loops: true code_rating: true closure_use_not_conflicting: true closure_use_modifiable: true classes_in_camel_caps: true catch_class_exists: true avoid_useless_overridden_methods: true blank_line_after_namespace_declaration: true avoid_usage_of_logical_operators: true avoid_unnecessary_concatenation: true avoid_superglobals: true avoid_perl_style_comments: true avoid_multiple_statements_on_same_line: true avoid_length_functions_in_loops: true avoid_fixme_comments: true avoid_duplicate_types: true avoid_corrupting_byteorder_marks: true avoid_conflicting_incrementers: true avoid_closing_tag: true assignment_of_null_return: true argument_type_checks: true align_assignments: true coding_style: php: spaces: general: linefeed_character: return-newline around_operators: additive: false multiplicative: false