Completed
Push — master ( b3d39b...4bb3f1 )
by Luís
16s queued 12s
created

Checkout Config

build:
    nodes:
        analysis:
            environment:
                mysql: false
                postgresql: false
                redis: false
                rabbitmq: false
                mongodb: false
                php:
                    version: 7.2
            cache:
                disabled: false
                directories:
                    - ~/.composer/cache

            project_setup:
                override: true
            tests:
                override:
                    - php-scrutinizer-run

checks:
    php:
        code_rating: true
        duplication: true
        argument_type_checks: true
        assignment_of_null_return: true
        avoid_conflicting_incrementers: true
        avoid_useless_overridden_methods: true
        catch_class_exists: true
        closure_use_modifiable: true
        closure_use_not_conflicting: true
        deprecated_code_usage: true
        method_calls_on_non_object: true
        missing_arguments: true
        no_duplicate_arguments: true
        no_non_implemented_abstract_methods: true
        no_property_on_interface: true
        parameter_non_unique: true
        precedence_in_conditions: true
        precedence_mistakes: true
        require_php_tag_first: true
        security_vulnerabilities: true
        sql_injection_vulnerabilities: true
        too_many_arguments: true
        unreachable_code: true
        unused_methods: true
        unused_parameters: true
        unused_properties: true
        unused_variables: true
        use_statement_alias_conflict: true
        useless_calls: true
        variable_existence: true
        verify_access_scope_valid: true
        verify_argument_usable_as_reference: true
        verify_property_names: true
        uppercase_constants: true
        simplify_boolean_return: true
        return_doc_comments: true
        remove_extra_empty_lines: true
        properties_in_camelcaps: true
        phpunit_assertions: true
        parameters_in_camelcaps: true
        parameter_doc_comments: true
        overriding_parameter: true
        optional_parameters_at_the_end: true
        no_short_variable_names:
            minimum: '2'
        no_long_variable_names:
            maximum: '20'
        no_goto: true
        newline_at_end_of_file: true
        more_specific_types_in_doc_comments: false
        function_in_camel_caps: true
        encourage_single_quotes: true
        encourage_postdec_operator: true
        classes_in_camel_caps: true
        check_method_contracts:
            verify_interface_like_constraints: true
            verify_documented_constraints: true
            verify_parent_constraints: true
        avoid_unnecessary_concatenation: true
        avoid_perl_style_comments: true
        avoid_multiple_statements_on_same_line: true
        align_assignments: true
        deadlock_detection_in_loops: true
        use_self_instead_of_fqcn: true
        single_namespace_per_use: true
        side_effects_or_types: true
        require_scope_for_properties: true
        require_scope_for_methods: true
        psr2_switch_declaration: true
        psr2_class_declaration: true
        property_assignments: true
        parse_doc_comments: true
        overriding_private_members: true
        no_underscore_prefix_in_properties: true
        no_underscore_prefix_in_methods: true
        no_trait_type_hints: true
        no_trailing_whitespace: true
        no_short_open_tag: true
        no_global_keyword: true
        no_exit: true
        no_eval: true
        no_error_suppression: true
        no_empty_statements: true
        no_debug_code: true
        no_commented_out_code: true
        no_unnecessary_if: true
        return_in_constructor: true
        php5_style_constructor: true
        instanceof_class_exists: true
        foreach_traversable: true
        call_to_parent_method: true
        blank_line_after_namespace_declaration: true
        avoid_usage_of_logical_operators: true
        avoid_superglobals: true
        avoid_length_functions_in_loops: true
        avoid_duplicate_types: true
        avoid_closing_tag: true
        avoid_corrupting_byteorder_marks: true
        avoid_aliased_php_functions: true
        encourage_shallow_comparison: true

tools:
    external_code_coverage: true

build_failure_conditions:
    - 'elements.rating(<= C).new.exists'                        # No new classes/methods with a rating of C or worse 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
    - 'project.metric_change("scrutinizer.test_coverage", < 0)' # Code Coverage decreased from previous inspection
    - 'patches.label("Doc Comments").new.exists'                # No new doc comments patches allowed
    - 'patches.label("Unused Use Statements").new.exists'       # No new unused imports patches allowed