Failed Conditions
Pull Request — master (#2)
by Christopher
07:20
created

Repository Config

build:
    services:
        elasticsearch: 6.5.0

    environment:
        variables:
            ELASTICSEARCH_HOSTS: http://127.0.0.1:9200

Global Config

build:
    environment:
        php: 7.2
    
    cache:
        directories:
            - vendor/
    
    tests:
        stop_on_failure: true
        override:
            - command: ./vendor/bin/phpunit
    
    nodes:
        coverage:
            tests:
                override:
                - command: ./vendor/bin/phpunit --coverage-clover build/logs/clover.xml
                  coverage:
                    file: build/logs/clover.xml
                    format: clover
        
        analysis:
            tests:
                override:
                    - php-scrutinizer-run --enable-security-analysis
                    - command: phpcs-run
                      use_website_config: true

        php72:
            environment:
                php: 7.2

        php71:
            environment:
                php: 7.1

checks:
    php:
        check_method_contracts:
          verify_interface_like_constraints: true
          verify_documented_constraints: true
          verify_parent_constraints: true
        simplify_boolean_return: true
        return_doc_comments: true
        remove_extra_empty_lines: true
        return_doc_comment_if_not_inferrable: 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_long_variable_names:
          maximum: '20'
        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
        fix_line_ending: true
        fix_doc_comments: false

coding_style:
    php:
        spaces:
            around_operators:
                concatenation: true

filter: {  }

build_failure_conditions:
    - 'elements.rating(<= D).exists'
    - 'classes.metric("php_code_coverage.coverage", = 0).exists'
    - 'issues.label("coding-style").exists'
    - 'issues.severity(>= MAJOR).exists'
    - 'project.metric("scrutinizer.quality", < 9)'
    - 'project.metric("scrutinizer.test_coverage", < 0.90)'
    - 'project.metric_change("scrutinizer.test_coverage", < -0.10)'