Repository Config
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:
- 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