Test Failed
Branch master (6bfcd8)
by Nikolaos
03:58
created

Checkout Config

build:
    root_path: './'
    environment:
        selenium: false
        memcached: true
        elasticsearch: false
        rabbitmq: false
        postgresql: false
        redis: false
        node: false
        php:
          version: 7.1.12
          ini:
            'date.timezone': 'UTC'
        hosts:
          api.phalcon.ld: '127.0.0.1'
        apache2:
          modules: ['rewrite']
          sites:
            api:
              web_root: 'public'
              host: 'api.phalcon.ld'
        variables:
          DATA_API_MYSQL_HOST: "localhost"
          DATA_API_MYSQL_PASS: "password"
          DATA_API_MYSQL_USER: "root"
          DATA_API_MYSQL_NAME: "gonano"
          DATA_API_MEMCACHED_HOST: "127.0.0.1"
          DATA_API_MEMCACHED_PORT: 11211
          DATA_API_MEMCACHED_WEIGHT: 100
          APP_IP: "api.phalcon.ld"

    cache:
        directories:
          - ~/cphalcon

    dependencies:
        before:
          - cd /home/scrutinizer/build
          - cp storage/ci/.env.example .env
          - cp storage/ci/phinx.php.example phinx.php
          -
            command: 'cd ~/ && git clone -q --depth=1 https://github.com/phalcon/cphalcon.git && cd cphalcon/build && ./install'
            not_if: 'test -e /home/scrutinizer/cphalcon/build/php7/64bits/modules/phalcon.so'
          -
            command: 'cp -v /home/scrutinizer/cphalcon/build/php7/64bits/modules/phalcon.so  /home/scrutinizer/.phpenv/versions/7.1.12/lib/php/extensions/no-debug-zts-20160303/'
            only_if: 'test -e /home/scrutinizer/cphalcon/build/php7/64bits/modules/phalcon.so'
          - sed -i '$ a \\n[Phalcon]\nextension=phalcon.so\n' /home/scrutinizer/.phpenv/versions/7.1.12/etc/php.ini
          - php -m | grep -i Phalcon
          - sudo /etc/init.d/apache2 restart
          - mysql -e "CREATE DATABASE gonano"
          - mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');"
          - mysql -e "FLUSH PRIVILEGES"
          - cd /home/scrutinizer/build
          - composer install --no-interaction
          - ./vendor/bin/phinx migrate
          - ./vendor/bin/codecept build

#    project_setup:
#        override: true

    tests:
        override:
          - phpcs-run --standard=PSR2 --extensions=php --ignore=tests/*,storage/*,vendor/* ./
          -
            command: './vendor/bin/codecept run --coverage-xml'
            coverage:
              file: './tests/_output/coverage.xml'
              format: 'clover'
          - php-scrutinizer-run --enable-security-analysis

filter:
  paths: ['./*']
  excluded_paths:
    - 'tests/*'
    - 'storage/*'
    - 'vendor/*'
    - 'phinx.php'

build_failure_conditions:
    # No classes/methods with a rating of D or worse
    - 'elements.rating(<= C).exists'
    # No new classes/methods with a rating of D or worse allowed
    - 'elements.rating(<= C).new.exists'

    # No coding style issues allowed - Removing it for now until we fix index.php
    - 'issues.label("coding-style").exists'
    # No new coding style issues allowed
    - 'issues.label("coding-style").new.exists'

    # More than 5 new coding style issues.
    - 'issues.label("coding-style").new.count > 5'
    # New issues of major or higher severity
    - 'issues.severity(>= MAJOR).new.exists'

    # Code Quality Rating drops below 8
    - 'project.metric("scrutinizer.quality", < 8)'
    # Code Coverage drops below 60%
    - 'project.metric("scrutinizer.test_coverage", < 0.60)'

    # Code Coverage decreased from previous inspection by more than 10%
    - 'project.metric_change("scrutinizer.test_coverage", < -0.10)'

tools:
  php_analyzer: true
  php_mess_detector: true
  php_code_sniffer:
    config:
      standard: PSR2
  php_loc:
    enabled: true
    excluded_dirs: ['vendor', 'tests', 'storage']
  php_cpd:
    enabled: true
    excluded_dirs: ['vendor', 'tests', 'storage']

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
    unused_variables: true
    unused_properties: true
    unused_parameters: true
    unused_methods: true
    unreachable_code: true
    too_many_arguments: true
    symfony_request_injection: true
    switch_fallthrough_commented: true
    sql_injection_vulnerabilities: true
    simplify_boolean_return: true
    security_vulnerabilities: true
    return_in_constructor: true
    return_doc_comments: true
    return_doc_comment_if_not_inferrable: true
    require_scope_for_methods: true
    require_php_tag_first: true
    property_assignments: true
    properties_in_camelcaps: true
    precedence_mistakes: true
    precedence_in_conditions: true
    phpunit_assertions: 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
    overriding_parameter: true
    non_commented_empty_catch_block: true
    no_trait_type_hints: true
    no_trailing_whitespace: true
    no_short_variable_names:
      minimum: '3'
    no_short_open_tag: true
    no_short_method_names:
      minimum: '3'
    no_property_on_interface: true
    no_non_implemented_abstract_methods: true
    no_long_variable_names:
      maximum: '20'
    no_goto: true
    no_exit: true
    no_eval: true
    no_error_suppression: true
    no_debug_code: true
    more_specific_types_in_doc_comments: true
    missing_arguments: true
    method_calls_on_non_object: true
    instanceof_class_exists: true
    foreach_usable_as_reference: true
    foreach_traversable: true
    fix_use_statements:
      remove_unused: true
      preserve_multiple: true
      preserve_blanklines: false
      order_alphabetically: true
    fix_line_ending: true
    fix_doc_comments: true
    encourage_shallow_comparison: true
    duplication: true
    deprecated_code_usage: true
    deadlock_detection_in_loops: true
    comparison_always_same_result: true
    code_rating: true
    closure_use_not_conflicting: true
    closure_use_modifiable: true
    check_method_contracts:
      verify_interface_like_constraints: true
      verify_documented_constraints: true
      verify_parent_constraints: true
    catch_class_exists: true
    call_to_parent_method: true
    avoid_superglobals: true
    avoid_length_functions_in_loops: true
    avoid_duplicate_types: true
    avoid_closing_tag: true
    assignment_of_null_return: true
    argument_type_checks: true
    remove_extra_empty_lines: true
    naming_conventions:
      local_variable: '^[a-z][a-zA-Z0-9]*$'
      abstract_class_name: ^Abstract|Factory$
      utility_class_name: '^[A-Z][a-zA-Z0-9]*$'
      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$'
      exception_name: '^[A-Z][a-zA-Z0-9]*Exception$'
      isser_method_name: '^(?:is|has|should|may|supports|before|after)'

Repository Config

# language: php

# tests: true