build: environment: postgresql: false redis: false mysql: 5.7 php: 7.2.11 dependencies: before: - composer install --no-interaction --no-scripts nodes: analysis: tests: override: - echo "memory_limit=-1" >> "$(php --ini | grep ' */php.ini' | sed 's/ */ /g' | cut -d ' ' -f4 | tr -d '\n')" - mysql -e "CREATE DATABASE IF NOT EXISTS plasma_tmp" - mysql -e "CREATE TABLE plasma_tmp.test_strings (testcol1 CHAR(20) NOT NULL, testcol2 VARCHAR(20) NOT NULL, testcol3 TINYTEXT NOT NULL, testcol4 TEXT NOT NULL, testcol5 MEDIUMTEXT NOT NULL, testcol6 LONGTEXT NOT NULL, testcol7 BINARY(3) NOT NULL, testcol8 VARBINARY(20) NOT NULL, testcol9 TINYBLOB NOT NULL, testcol10 MEDIUMBLOB NOT NULL, testcol11 BLOB NOT NULL, testcol12 LONGBLOB NOT NULL, testcol13 ENUM('hey','hello') NOT NULL, testcol14 SET('world','internet') NOT NULL, testcol15 VARCHAR(5) NOT NULL, testcol16 BIT NOT NULL, testcol17 DECIMAL(2,1) NOT NULL, testcol18 VARCHAR(20) NOT NULL)" - mysql -e "CREATE TABLE plasma_tmp.test_ints (testcol1 TINYINT(5) UNSIGNED ZEROFILL NOT NULL, testcol2 SMALLINT(20) NOT NULL, testcol3 YEAR(4) NOT NULL, testcol4 MEDIUMINT(20) NOT NULL, testcol5 INT(20) NOT NULL, testcol6 BIGINT(20) NOT NULL)" - mysql -e "CREATE TABLE plasma_tmp.test_floats (testcol1 FLOAT NOT NULL, testcol2 DOUBLE NOT NULL)" - mysql -e "CREATE TABLE plasma_tmp.test_dates (testcol1 DATE NOT NULL, testcol2 DATETIME NOT NULL, testcol3 TIME NOT NULL, testcol4 TIMESTAMP NOT NULL)" - command: 'vendor/bin/phpunit --bootstrap "vendor/autoload.php" --whitelist="src" --coverage-clover="report.clover" "tests" --exclude-group tls' coverage: file: 'report.clover' format: 'clover' - mysql -e "DROP DATABASE IF EXISTS plasma_tmp" - command: phpcs-run ./src/ #use_website_config: true - 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 unused_variables: true unused_properties: true too_many_arguments: true unreachable_code: true unused_methods: true unused_parameters: true symfony_request_injection: true switch_fallthrough_commented: true sql_injection_vulnerabilities: true security_vulnerabilities: true return_in_constructor: true require_php_tag_first: true require_scope_for_methods: true property_assignments: true parameter_non_unique: true precedence_in_conditions: true precedence_mistakes: true parse_doc_comments: true overriding_private_members: true non_commented_empty_catch_block: true no_trait_type_hints: true no_trailing_whitespace: true no_short_open_tag: true no_property_on_interface: true no_non_implemented_abstract_methods: true no_exit: true no_eval: true no_error_suppression: true no_debug_code: true missing_arguments: true method_calls_on_non_object: true instanceof_class_exists: true foreach_usable_as_reference: true foreach_traversable: true fix_doc_comments: false encourage_shallow_comparison: true deprecated_code_usage: true deadlock_detection_in_loops: true comparison_always_same_result: true closure_use_not_conflicting: true closure_use_modifiable: true catch_class_exists: true check_method_contracts: verify_interface_like_constraints: true verify_documented_constraints: true verify_parent_constraints: true call_to_parent_method: true avoid_superglobals: true avoid_length_functions_in_loops: true avoid_entity_manager_injection: true avoid_duplicate_types: true avoid_closing_tag: true argument_type_checks: true code_rating: false duplication: false assignment_of_null_return: false no_goto: true simplify_boolean_return: true filter: dependency_paths: - vendor/ paths: - src/ build_failure_conditions: - 'issues.label("coding-style").new.count > 5' # More than 5 new coding style issues. - 'issues.severity(>= MINOR).new.exists' # New issues of major or higher severity