Skip to content

Commit aca5ff6

Browse files
ci: enhance and modernize Scrutinizer configuration
- Update PHP version to 8.3 to match project recommendations - Add PostgreSQL environment support - Configure detailed code quality checks - Set up proper test coverage integration - Add security and SQL injection checks - Configure proper path exclusions
1 parent 6bb84e7 commit aca5ff6

File tree

1 file changed

+93
-1
lines changed

1 file changed

+93
-1
lines changed

.scrutinizer.yml

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,64 @@
11
build:
22
environment:
3-
php: 8.2
3+
php: 8.3
4+
postgresql: true
5+
node: false
6+
nodes:
7+
analysis:
8+
tests:
9+
override:
10+
- php-scrutinizer-run
11+
- command: composer run-tests-with-clover
12+
coverage:
13+
file: var/logs/test-coverage/clover.xml
14+
format: clover
15+
16+
dependencies:
17+
override:
18+
- composer update --no-interaction --prefer-dist
19+
20+
checks:
21+
php:
22+
code_rating: true
23+
duplication: true
24+
fix_doc_comments: true
25+
fix_line_ending: true
26+
fix_use_statements:
27+
remove_unused: true
28+
preserve_multiple: false
29+
preserve_blanklines: false
30+
order_alphabetically: true
31+
32+
verify_property_names: true
33+
verify_argument_usable_as_reference: true
34+
verify_access_scope_valid: true
35+
variable_existence: true
36+
useless_calls: true
37+
use_statement_alias_conflict: true
38+
unused_variables: true
39+
unused_properties: true
40+
unused_methods: true
41+
unreachable_code: true
42+
too_many_arguments: true
43+
symfony_request_injection: true
44+
switch_fallthrough_commented: true
45+
sql_injection_vulnerabilities: true
46+
security_vulnerabilities: true
47+
return_in_constructor: true
48+
return_doc_comments: true
49+
return_doc_comment_if_not_inferrable: true
50+
parameter_non_unique: true
51+
optional_parameters_at_the_end: true
52+
overriding_private_members: true
53+
no_unnecessary_final_modifier: true
54+
no_short_variable_names:
55+
minimum: 3
56+
no_short_method_names:
57+
minimum: 3
58+
no_property_on_interface: true
59+
no_non_implemented_abstract_methods: true
60+
no_long_variable_names:
61+
maximum: 30
462

563
coding_style:
664
php:
@@ -9,3 +67,37 @@ coding_style:
967
concatenation: false
1068
other:
1169
after_type_cast: true
70+
braces:
71+
classes_functions:
72+
class: new-line
73+
function: new-line
74+
if:
75+
opening: end-of-line
76+
for:
77+
opening: end-of-line
78+
while:
79+
opening: end-of-line
80+
do_while:
81+
opening: end-of-line
82+
switch:
83+
opening: end-of-line
84+
try:
85+
opening: end-of-line
86+
upper_lower_casing:
87+
keywords:
88+
general: lower
89+
constants:
90+
true_false_null: lower
91+
92+
filter:
93+
excluded_paths:
94+
- 'ci/*'
95+
- 'fixtures/*'
96+
- 'tests/*'
97+
dependency_paths:
98+
- 'vendor/*'
99+
100+
tools:
101+
external_code_coverage:
102+
timeout: 600
103+
runs: 1

0 commit comments

Comments
 (0)