Checkout Config
#
# scrutinizer-ci.com Configuration File
#
# https://scrutinizer-ci.com/docs/
#
build:
environment:
mysql: false
postgresql: false
redis: false
rabbitmq: false
php:
version: 5.6
filter:
excluded_paths:
- 'vendor/*'
before_commands:
- 'sudo composer self-update'
- 'composer install --dev --prefer-dist'
changetracking:
bug_patterns: ["\bfix(?:es|ed)?\b", "\bclose(?:s|ed)?\b"]
feature_patterns: ["\badd(?:s|ed)?\b", "\bimplement(?:s|ed)?\b"]
tools:
php_mess_detector:
filter:
paths: ['framework/*', 'tests/*']
config:
code_size_rules: { too_many_methods: false }
unused_code_rules: { unused_formal_parameter: true }
naming_rules: { short_variable: false, long_variable: false, short_method: true, boolean_method_name: true }
controversial_rules: { superglobals: false }
design_rules: { exit_expression: true, eval_expression: true, goto_statement: true }
php_cs_fixer:
filter:
paths: ['framework/*', 'tests/*']
config:
level: all
php_analyzer:
filter:
paths: ['framework/*', 'tests/*']
config:
parameter_reference_check: { enabled: true }
checkstyle: { enabled: true, no_trailing_whitespace: true, naming: { enabled: true, 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)' } }
unreachable_code: { enabled: true }
check_access_control: { enabled: true }
typo_checks: { enabled: true }
check_variables: { enabled: true }
suspicious_code: { enabled: true, overriding_parameter: true, overriding_closure_use: true, parameter_closure_use_conflict: true, parameter_multiple_times: true, non_existent_class_in_instanceof_check: true, non_existent_class_in_catch_clause: true, assignment_of_null_return: true, non_commented_switch_fallthrough: true, non_commented_empty_catch_block: true, overriding_private_members: true, use_statement_alias_conflict: true, precedence_in_condition_assignment: true }
dead_assignments: { enabled: true }
verify_php_doc_comments: { enabled: true, parameters: true, return: true, suggest_more_specific_types: true, ask_for_return_if_not_inferrable: true, ask_for_param_type_annotation: true }
loops_must_use_braces: { enabled: true }
check_usage_context: { enabled: true, method_call_on_non_object: { enabled: true, ignore_null_pointer: true }, foreach: { value_as_reference: true, traversable: true }, missing_argument: true, argument_type_checks: lenient }
simplify_boolean_return: { enabled: true }
phpunit_checks: { enabled: true }
reflection_checks: { enabled: true }
precedence_checks: { enabled: true, assignment_in_condition: true, comparison_of_bit_result: true }
basic_semantic_checks: { enabled: true }
doc_comment_fixes: { enabled: true }
reflection_fixes: { enabled: true }
use_statement_fixes: { enabled: true, remove_unused: true, preserve_multiple: true, order_alphabetically: false }
doctrine_entity_manager_injection: { enabled: true }
useless_function_calls: { enabled: true }
check_calls: { enabled: true, too_many_arguments: true, missing_argument: true, argument_type_checks: lenient }
php_code_sniffer:
filter:
paths: ['framework/*', 'tests/*']
config:
tab_width: 4
encoding: utf8
standard: PSR2
sniffs: { generic: { white_space: { disallow_tab_indent_sniff: true } } }
# disable copy paste detector and simliarity analyzer
# because huge number of false-positives and no real value
php_cpd: false
php_sim: false
php_changetracking: true
php_hhvm:
enabled: false
#command: hhvm -vRepo.Authoritative=false
filter:
paths: ['framework/*', 'tests/*']
#excluded_paths: ['vendor/*']
php_code_coverage: false
external_code_coverage:
timeout: 600
runs: 4
checks:
php:
code_rating: true
duplication: true
remove_extra_empty_lines: true
remove_php_closing_tag: true
remove_trailing_whitespace: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: true
order_alphabetically: true
fix_php_opening_tag: true
fix_linefeed: true
fix_line_ending: true
fix_identation_4spaces: true
fix_doc_comments: true