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)'