diff --git a/.gitattributes b/.gitattributes index ee058029..9e9bac23 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,13 +1,11 @@ -/docs export-ignore -/test export-ignore -/.gitattributes export-ignore -/.github export-ignore -/.gitignore export-ignore -/.scrutinizer.yml export-ignore -/.travis.yml export-ignore -/CONTRIBUTING.md export-ignore -/*.dist export-ignore -/mkdocs.yml export-ignore -/phpbench.json export-ignore -/composer.lock export-ignore -/README.md export-ignore +/docs export-ignore +/test export-ignore +/.gitattributes export-ignore +/.github export-ignore +/.gitignore export-ignore +/*.yml export-ignore +/CONTRIBUTING.md export-ignore +/*.dist export-ignore +/phpbench.json export-ignore +/composer.lock export-ignore +/README.md export-ignore diff --git a/.scrutinizer.yml b/.scrutinizer.yml deleted file mode 100644 index 2dc9407e..00000000 --- a/.scrutinizer.yml +++ /dev/null @@ -1,135 +0,0 @@ -build: - nodes: - analysis: - environment: - mysql: false - postgresql: false - redis: false - rabbitmq: false - mongodb: false - php: - version: 7.4 - cache: - disabled: false - directories: - - ~/.composer/cache - - project_setup: - override: true - tests: - override: - - php-scrutinizer-run - -checks: - php: - code_rating: true - duplication: true - argument_type_checks: true - assignment_of_null_return: true - avoid_conflicting_incrementers: true - avoid_useless_overridden_methods: true - catch_class_exists: true - closure_use_modifiable: true - closure_use_not_conflicting: true - deprecated_code_usage: true - method_calls_on_non_object: true - missing_arguments: true - no_duplicate_arguments: true - no_non_implemented_abstract_methods: true - no_property_on_interface: true - parameter_non_unique: true - precedence_in_conditions: true - precedence_mistakes: true - require_php_tag_first: true - security_vulnerabilities: true - sql_injection_vulnerabilities: true - too_many_arguments: true - unreachable_code: true - unused_methods: true - unused_parameters: true - unused_properties: true - unused_variables: true - use_statement_alias_conflict: true - useless_calls: true - variable_existence: true - verify_access_scope_valid: true - verify_argument_usable_as_reference: true - verify_property_names: true - uppercase_constants: true - simplify_boolean_return: true - return_doc_comments: true - remove_extra_empty_lines: true - properties_in_camelcaps: true - phpunit_assertions: true - parameters_in_camelcaps: true - parameter_doc_comments: true - overriding_parameter: true - optional_parameters_at_the_end: true - no_short_variable_names: - minimum: '2' - no_long_variable_names: - maximum: '20' - no_goto: true - newline_at_end_of_file: true - more_specific_types_in_doc_comments: false - function_in_camel_caps: true - encourage_single_quotes: true - encourage_postdec_operator: true - classes_in_camel_caps: true - check_method_contracts: - verify_interface_like_constraints: true - verify_documented_constraints: true - verify_parent_constraints: true - avoid_unnecessary_concatenation: true - avoid_perl_style_comments: true - avoid_multiple_statements_on_same_line: true - align_assignments: true - deadlock_detection_in_loops: true - use_self_instead_of_fqcn: true - single_namespace_per_use: true - side_effects_or_types: true - require_scope_for_properties: true - require_scope_for_methods: true - psr2_switch_declaration: true - psr2_class_declaration: true - property_assignments: true - parse_doc_comments: true - overriding_private_members: true - no_underscore_prefix_in_properties: true - no_underscore_prefix_in_methods: true - no_trait_type_hints: true - no_trailing_whitespace: true - no_short_open_tag: true - no_global_keyword: true - no_exit: true - no_eval: true - no_error_suppression: true - no_empty_statements: true - no_debug_code: true - no_commented_out_code: true - no_unnecessary_if: true - return_in_constructor: true - php5_style_constructor: true - instanceof_class_exists: true - foreach_traversable: true - call_to_parent_method: true - blank_line_after_namespace_declaration: true - avoid_usage_of_logical_operators: true - avoid_superglobals: true - avoid_length_functions_in_loops: true - avoid_duplicate_types: true - avoid_closing_tag: true - avoid_corrupting_byteorder_marks: true - avoid_aliased_php_functions: true - encourage_shallow_comparison: true - -tools: - external_code_coverage: true - -build_failure_conditions: - - 'elements.rating(<= C).new.exists' # No new classes/methods with a rating of C or worse allowed - - 'issues.label("coding-style").new.exists' # No new coding style issues allowed - - 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity - - 'project.metric_change("scrutinizer.test_coverage", < 0)' # Code Coverage decreased from previous inspection - - 'patches.label("Doc Comments").new.exists' # No new doc comments patches allowed - - 'patches.label("Unused Use Statements").new.exists' # No new unused imports patches allowed diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5d52fe94..00000000 --- a/.travis.yml +++ /dev/null @@ -1,61 +0,0 @@ -os: linux -dist: focal -language: php - -php: - - 7.4 - - nightly - -cache: - directories: - - $HOME/.composer/cache - -before_install: - - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{,.disabled} || echo "xdebug not available" - -install: travis_retry composer install - -script: - - ./vendor/bin/phpunit --testsuite=unit - - ./vendor/bin/phpunit --testsuite=functional - -jobs: - allow_failures: - - php: nightly - - include: - - stage: Metrics and quality - env: COVERAGE - before_script: - - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{.disabled,} - - if [[ ! $(php -m | grep -si xdebug) ]]; then echo "xdebug required for coverage"; exit 1; fi - script: - - ./vendor/bin/phpunit --testsuite=unit --coverage-clover ./clover.xml - after_script: - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover ./clover.xml - - - stage: Metrics and quality - env: BENCHMARK - script: - - ./vendor/bin/phpbench run -l dots --report aggregate - - - stage: Metrics and quality - env: CODE_STANDARD - script: - - ./vendor/bin/phpcs - - - stage: Metrics and quality - env: MUTATION - before_script: - - mv ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini{.disabled,} - - if [[ ! $(php -m | grep -si xdebug) ]]; then echo "xdebug required for coverage"; exit 1; fi - script: - - ./vendor/bin/phpunit --testsuite="unit" --coverage-xml=build/coverage-xml --log-junit=build/junit.xml - - ./vendor/bin/infection -s --threads=$(nproc) --coverage=build - - - stage: Metrics and quality - env: STATIC_ANALYSIS - script: - - ./vendor/bin/phpstan analyse -