@@ -25,6 +25,12 @@ reusable-steps:
25
25
- npm-cache-{{ .Revision }}
26
26
- npm-cache-{{ .Branch }}
27
27
- npm-cache
28
+ - &restore-php-cs-fixer-cache
29
+ restore_cache :
30
+ keys :
31
+ - php-cs-fixer-cache-{{ .Revision }}
32
+ - php-cs-fixer-cache-{{ .Branch }}
33
+ - php-cs-fixer-cache
28
34
- &save-composer-cache-by-branch
29
35
save_cache :
30
36
paths :
@@ -45,6 +51,16 @@ reusable-steps:
45
51
paths :
46
52
- ~/.npm
47
53
key : npm-cache-{{ .Revision }}-{{ .BuildNum }}
54
+ - &save-php-cs-fixer-cache-by-branch
55
+ save_cache :
56
+ paths :
57
+ - .php_cs.cache
58
+ key : php-cs-fixer-cache-{{ .Branch }}-{{ .BuildNum }}
59
+ - &save-php-cs-fixer-cache-by-revision
60
+ save_cache :
61
+ paths :
62
+ - .php_cs.cache
63
+ key : php-cs-fixer-cache-{{ .Revision }}-{{ .BuildNum }}
48
64
- &update-composer
49
65
run :
50
66
name : Update Composer
@@ -55,7 +71,55 @@ reusable-steps:
55
71
command : composer update --prefer-dist --no-progress --no-suggest --ansi
56
72
57
73
jobs :
58
- phpunit-php-7.2-coverage :
74
+ php-cs-fixer :
75
+ docker :
76
+ - image : circleci/php:7.2-node-browsers
77
+ environment :
78
+ PHP_CS_FIXER_FUTURE_MODE : 1
79
+ working_directory : ~/api-platform/core
80
+ steps :
81
+ - checkout
82
+ - *restore-composer-cache
83
+ - *restore-php-cs-fixer-cache
84
+ - *disable-xdebug-php-extension
85
+ - *disable-php-memory-limit
86
+ - *update-composer
87
+ - run :
88
+ name : Install PHP-CS-Fixer
89
+ command : composer global require friendsofphp/php-cs-fixer:^2.12
90
+ - *save-composer-cache-by-revision
91
+ - *save-composer-cache-by-branch
92
+ - run :
93
+ name : Run PHP-CS-Fixer
94
+ command : |-
95
+ export PATH="$PATH:$HOME/.composer/vendor/bin"
96
+ php-cs-fixer fix --dry-run --diff --ansi
97
+ - *save-php-cs-fixer-cache-by-revision
98
+ - *save-php-cs-fixer-cache-by-branch
99
+
100
+ phpstan :
101
+ docker :
102
+ - image : circleci/php:7.2-node-browsers
103
+ working_directory : ~/api-platform/core
104
+ steps :
105
+ - checkout
106
+ - *restore-composer-cache
107
+ - *disable-xdebug-php-extension
108
+ - *disable-php-memory-limit
109
+ - *update-composer
110
+ - *update-project-dependencies
111
+ - run :
112
+ name : Install PHPStan
113
+ command : composer global require phpstan/phpstan:^0.8
114
+ - *save-composer-cache-by-revision
115
+ - *save-composer-cache-by-branch
116
+ - run :
117
+ name : Run PHPStan
118
+ command : |-
119
+ export PATH="$PATH:$HOME/.composer/vendor/bin"
120
+ phpstan analyse -c phpstan.neon -l5 --ansi src tests
121
+
122
+ phpunit-coverage :
59
123
docker :
60
124
- image : circleci/php:7.2-node-browsers
61
125
environment :
98
162
- *save-npm-cache-by-revision
99
163
- *save-npm-cache-by-branch
100
164
101
- behat-php-7.2- coverage :
165
+ behat-coverage :
102
166
docker :
103
167
- image : circleci/php:7.2-node-browsers
104
168
environment :
@@ -181,11 +245,15 @@ jobs:
181
245
182
246
workflows :
183
247
version : 2
248
+ lint :
249
+ jobs :
250
+ - php-cs-fixer
251
+ - phpstan
184
252
test-with-coverage :
185
253
jobs :
186
- - phpunit-php-7.2- coverage
187
- - behat-php-7.2- coverage
254
+ - phpunit-coverage
255
+ - behat-coverage
188
256
- merge-and-upload-coverage :
189
257
requires :
190
- - phpunit-php-7.2- coverage
191
- - behat-php-7.2- coverage
258
+ - phpunit-coverage
259
+ - behat-coverage
0 commit comments