Skip to content

Commit 3531f18

Browse files
pklyPaweł Kąkol
andauthored
Feature/service and testing update (#18)
* Update packages, fix more stuff * Update more packages, re-add doctrine/common for ClassUtils * Update code style * Update PHPUnit config, services and more * Remove pure from abstract event * Add some more things * Use update instead of install to not respect lock (only for caching purposes) * Update dependency injection test package * Fix test? * Update more stuff * QC fix * QC fix * Move to newer service configuration for 5.4+ services * CS fix * Update kernel config * Update GH Actions * Prevent tests from running in parallel for some reason it breaks stuff * Fix composer caches? --------- Co-authored-by: Paweł Kąkol <[email protected]>
1 parent 271fcc2 commit 3531f18

File tree

66 files changed

+2000
-2162
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+2000
-2162
lines changed

.github/workflows/php.yml

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,25 @@ jobs:
77
matrix:
88
include:
99
- symfony-version: 5.4
10-
php-version: 8.1
10+
php-version: 8.2
1111
- symfony-version: 6.2
12-
php-version: 8.1
12+
php-version: 8.2
13+
- symfony-version: 6.4
14+
php-version: 8.2
15+
- symfony-version: 7
16+
php-version: 8.2
1317

1418
runs-on: ubuntu-latest
1519
steps:
16-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
1721

1822
- name: Cache composer dependencies
19-
uses: actions/cache@v3
23+
uses: actions/cache@v4
2024
with:
2125
path: vendor/
22-
key: ${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
26+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
2327
restore-keys: |
24-
${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
28+
${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
2529
2630
- name: PHP Setup
2731
uses: shivammathur/setup-php@v2
@@ -39,28 +43,28 @@ jobs:
3943
env:
4044
SYMFONY_REQUIRE: ${{ matrix.symfony-version }}
4145
run: |
42-
composer install --no-interaction --no-scripts --ansi --no-progress --prefer-dist
46+
composer update --no-interaction --no-scripts --ansi --no-progress --prefer-dist
4347
4448
phpstan:
4549
strategy:
4650
matrix:
4751
include:
48-
- symfony-version: 5.4
49-
php-version: 8.1
52+
- symfony-version: 6.4
53+
php-version: 8.2
5054

5155
runs-on: ubuntu-latest
5256
needs: install
5357

5458
steps:
55-
- uses: actions/checkout@v3
59+
- uses: actions/checkout@v4
5660

5761
- name: Cache composer dependencies
58-
uses: actions/cache@v3
62+
uses: actions/cache@v4
5963
with:
6064
path: vendor/
61-
key: ${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
65+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
6266
restore-keys: |
63-
${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
67+
${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
6468
6569
- name: PHP Setup
6670
uses: shivammathur/setup-php@v2
@@ -78,22 +82,22 @@ jobs:
7882
strategy:
7983
matrix:
8084
include:
81-
- symfony-version: 5.4
82-
php-version: 8.1
85+
- symfony-version: 6.4
86+
php-version: 8.2
8387

8488
runs-on: ubuntu-latest
8589
needs: install
8690

8791
steps:
88-
- uses: actions/checkout@v3
92+
- uses: actions/checkout@v4
8993

9094
- name: Cache composer dependencies
91-
uses: actions/cache@v3
95+
uses: actions/cache@v4
9296
with:
9397
path: vendor/
94-
key: ${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
98+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
9599
restore-keys: |
96-
${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
100+
${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
97101
98102
- name: PHP Setup
99103
uses: shivammathur/setup-php@v2
@@ -111,22 +115,22 @@ jobs:
111115
strategy:
112116
matrix:
113117
include:
114-
- symfony-version: 5.4
115-
php-version: 8.1
118+
- symfony-version: 6.4
119+
php-version: 8.2
116120

117121
runs-on: ubuntu-latest
118122
needs: install
119123

120124
steps:
121-
- uses: actions/checkout@v3
125+
- uses: actions/checkout@v4
122126

123127
- name: Cache composer dependencies
124-
uses: actions/cache@v3
128+
uses: actions/cache@v4
125129
with:
126130
path: vendor/
127-
key: ${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
131+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
128132
restore-keys: |
129-
${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
133+
${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
130134
131135
- name: PHP Setup
132136
uses: shivammathur/setup-php@v2
@@ -141,29 +145,35 @@ jobs:
141145
vendor/bin/php-cs-fixer fix --config ./.php-cs-fixer.dist.php --dry-run --diff --ansi
142146
143147
test:
148+
concurrency:
149+
group: ${{ github.head_ref || github.ref }}
144150
strategy:
145151
matrix:
146152
include:
147153
- symfony-version: 5.4
148-
php-version: 8.1
154+
php-version: 8.2
149155
- symfony-version: 6.2
150-
php-version: 8.1
156+
php-version: 8.2
157+
- symfony-version: 6.4
158+
php-version: 8.2
159+
- symfony-version: 7
160+
php-version: 8.2
151161

152162
runs-on: ubuntu-latest
153163
needs:
154164
- phpstan
155165
- php-cs-fixer
156166

157167
steps:
158-
- uses: actions/checkout@v3
168+
- uses: actions/checkout@v4
159169

160170
- name: Cache composer dependencies
161-
uses: actions/cache@v3
171+
uses: actions/cache@v4
162172
with:
163173
path: vendor/
164-
key: ${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
174+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
165175
restore-keys: |
166-
${{ runner.os }}-composer-s-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}
176+
${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}-${{ matrix.symfony-version }}-${{ matrix.php-version }}-${{ matrix.symfony-version }}
167177
168178
- name: PHP Setup
169179
uses: shivammathur/setup-php@v2
@@ -188,7 +198,7 @@ jobs:
188198
hide_complexity: true
189199
indicators: true
190200
output: both
191-
thresholds: '70 80'
201+
thresholds: '65 80'
192202

193203
- name: Add Coverage PR Comment
194204
uses: marocchino/sticky-pull-request-comment@v2

.php-cs-fixer.dist.php

Lines changed: 35 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,49 @@
11
<?php
22

3-
$finder = PhpCsFixer\Finder::create()
3+
$finder = (new PhpCsFixer\Finder())
44
->in(__DIR__)
5-
->exclude('assets')
5+
->exclude('var')
66
->exclude('bin')
7-
->exclude('config')
8-
->exclude('docker')
9-
->exclude('files')
107
->exclude('public')
118
->exclude('scripts')
12-
->exclude('templates')
13-
->exclude('tools')
14-
->exclude('translations')
15-
->exclude('var')
169
->exclude('vendor');
1710

1811
return (new PhpCsFixer\Config())
1912
->setRules([
20-
'@PSR2' => true,
21-
'array_syntax' => ['syntax' => 'short'],
22-
'no_superfluous_phpdoc_tags' => false,
23-
'ternary_to_null_coalescing' => true,
24-
'no_useless_else' => true,
25-
'no_useless_return' => true,
13+
'@Symfony' => true,
14+
'blank_line_before_statement' => [
15+
'statements' => [
16+
'declare',
17+
'return',
18+
'throw',
19+
'try',
20+
'if',
21+
'for',
22+
'while',
23+
'foreach',
24+
],
25+
],
26+
'cast_spaces' => ['space' => 'none'],
27+
'constant_case' => ['case' => 'lower'],
2628
'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'],
29+
'phpdoc_align' => false,
2730
'single_line_throw' => false,
28-
'yoda_style' => true,
29-
'trailing_comma_in_multiline' => ['elements' => ['arrays']],
30-
'array_indentation' => true,
31-
'no_unused_imports' => true,
32-
'ordered_imports' => ['sort_algorithm' => 'alpha'],
33-
'single_line_after_imports' => true,
34-
'single_import_per_statement' => true,
35-
'blank_line_after_opening_tag' => true,
36-
'compact_nullable_typehint' => true,
37-
'clean_namespace' => true,
38-
'cast_spaces' => ['space' => 'single'],
39-
'constant_case' => ['case' => 'lower'],
40-
'full_opening_tag' => true,
41-
'indentation_type' => true,
42-
'lowercase_cast' => true,
43-
'native_function_casing' => true,
44-
'no_alternative_syntax' => true,
45-
'new_with_braces' => true,
46-
'no_empty_statement' => true,
47-
'no_blank_lines_after_phpdoc' => true,
48-
'no_closing_tag' => true,
49-
'no_short_bool_cast' => true,
50-
'no_trailing_whitespace' => true,
51-
'no_unset_cast' => true,
52-
'phpdoc_align' => ['align' => 'left'],
53-
'phpdoc_indent' => true,
54-
'phpdoc_annotation_without_dot' => true,
55-
'phpdoc_trim' => true,
56-
'single_blank_line_at_eof' => true,
57-
'short_scalar_cast' => true,
58-
'single_class_element_per_statement' => true,
59-
'return_type_declaration' => ['space_before' => 'none'],
60-
'visibility_required' => true,
61-
'PedroTroller/line_break_between_method_arguments' => ['max-args' => false, 'max-length' => 1, 'automatic-argument-merge' => false],
31+
'phpdoc_to_comment' => false,
32+
'phpdoc_types_order' => false,
33+
'phpdoc_scalar' => false,
34+
'phpdoc_types' => false,
35+
'increment_style' => false,
36+
'ordered_class_elements' => true,
37+
'fully_qualified_strict_types' => false,
38+
'nullable_type_declaration_for_default_null_value' => false,
39+
'nullable_type_declaration' => ['syntax' => 'union'],
40+
'ordered_types' => ['sort_algorithm' => 'none', 'null_adjustment' => 'always_last'],
41+
'PedroTroller/line_break_between_method_arguments' => [
42+
'max-args' => false,
43+
'max-length' => 1,
44+
'automatic-argument-merge' => false,
45+
'inline-attributes' => true,
46+
],
6247
])
6348
->setFinder($finder)
64-
->registerCustomFixers(new PedroTroller\CS\Fixer\Fixers())
65-
;
49+
->registerCustomFixers(new \PedroTroller\CS\Fixer\Fixers());

composer.json

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,24 @@
2828
"require": {
2929
"php": "^8.1",
3030
"doctrine/doctrine-bundle": "^1.12|^2.0",
31-
"doctrine/orm": "^2|^3",
32-
"symfony/framework-bundle": "^5.4|^6.2",
33-
"symfony/event-dispatcher": "^5.4|^6.2",
34-
"symfony/property-access": "^5.4|^6.2",
35-
"symfony/http-kernel": "^5.4|^6.2"
31+
"doctrine/orm": "^2.14|^3",
32+
"symfony/framework-bundle": "^5.4|^6.2|^7",
33+
"symfony/event-dispatcher": "^5.4|^6.2|^7",
34+
"symfony/property-access": "^5.4|^6.2|^7",
35+
"symfony/http-kernel": "^5.4|^6.2|^7",
36+
"doctrine/common": "^2|^3"
3637
},
3738
"require-dev": {
38-
"dama/doctrine-test-bundle": "^6",
39+
"dama/doctrine-test-bundle": "^8|^7",
3940
"doctrine/doctrine-fixtures-bundle": "^3",
4041
"friendsofphp/php-cs-fixer": "^3",
4142
"pedrotroller/php-cs-custom-fixer": "^2",
42-
"phpunit/phpunit": "^9.5",
43+
"phpunit/phpunit": "^10",
4344
"vimeo/psalm": "^5",
4445
"phpstan/phpstan": "^1",
45-
"symfony/phpunit-bridge": "^5.4|^6.2",
46-
"matthiasnoback/symfony-dependency-injection-test": "^4.",
47-
"jetbrains/phpstorm-attributes": "^1.0"
46+
"matthiasnoback/symfony-dependency-injection-test": "^5",
47+
"jetbrains/phpstorm-attributes": "^1.0",
48+
"pkly/phpunit-service-create-trait": "^1.0"
4849
},
4950
"extra": {
5051
"symfony": {

0 commit comments

Comments
 (0)