File tree Expand file tree Collapse file tree 6 files changed +140
-5
lines changed Expand file tree Collapse file tree 6 files changed +140
-5
lines changed Original file line number Diff line number Diff line change 1+ name : PHP Psalm
2+
3+ on :
4+ workflow_dispatch :
5+ pull_request :
6+ types : [ready_for_review]
7+ release :
8+ types : [published]
9+
10+ jobs :
11+ psalm :
12+ name : Psalm
13+ runs-on : ubuntu-latest
14+ timeout-minutes : 5
15+ steps :
16+ - uses : actions/checkout@v3
17+ with :
18+ ref : ${{ github.head_ref }}
19+
20+ # mtime needs to be restored for Psalm cache to work correctly
21+ - name : Restore mtimes
22+ uses : chetan/git-restore-mtime-action@v2
23+
24+ - name : Setup PHP
25+ uses : shivammathur/setup-php@v2
26+ with :
27+ php-version : 8.2
28+ coverage : none
29+ env :
30+ COMPOSER_TOKEN : ${{ secrets.GH_TOKEN_FOR_COMPOSER_FOR_PRIVATE_REPOS }}
31+
32+ - name : Get Composer cache directory
33+ id : composer-cache
34+ run : |
35+ echo "composer_dir={$(composer config cache-files-dir)}" >> $GITHUB_OUTPUT
36+
37+ - name : Retrieve Composer‘s cache
38+ uses : actions/cache@v3
39+ with :
40+ path : ${{ steps.composer-cache.outputs.composer_dir }}
41+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
42+ restore-keys : |
43+ ${{ runner.os }}-composer-
44+
45+ - name : Install composer dependencies
46+ run : " composer install --no-interaction --no-progress --no-scripts"
47+
48+ # the way cache keys are set up will always cause a cache miss
49+ # but will restore the cache generated during the previous run based on partial match
50+ - name : Retrieve Psalm’s cache
51+ uses : actions/cache@v3
52+ with :
53+ path : ./cache/psalm
54+ key : ${{ runner.os }}-psalm-cache-${{ hashFiles('psalm.xml', 'psalm-baseline.xml') }}
55+
56+ - name : Run Psalm
57+ run : composer psalm
Original file line number Diff line number Diff line change @@ -5,3 +5,5 @@ composer.lock
55# phpunit
66/.phpunit.cache
77/.phpunit.result.cache
8+
9+ .cache
Original file line number Diff line number Diff line change @@ -14,12 +14,12 @@ composer require --dev interaction-design-foundation/coding-standard
14142 . Add composer scripts into your ` composer.json ` :
1515``` json
1616"scripts" : {
17- "cs- check" : " phpcs" ,
18- "cs- fix" : " phpcbf"
17+ "cs: check" : " phpcs" ,
18+ "cs: fix" : " phpcbf"
1919}
2020```
2121
22- 3 . Create file phpcs.xml on base path of your repository with content
22+ 3 . Create file ` phpcs.xml ` on base path of your repository with content
2323``` xml
2424<?xml version =" 1.0" ?>
2525<ruleset name =" My Coding Standard" >
Original file line number Diff line number Diff line change 1010 "squizlabs/php_codesniffer" : " ^3.7"
1111 },
1212 "require-dev" : {
13- "phpunit/phpunit" : " ^10.1"
13+ "phpunit/phpunit" : " ^10.1" ,
14+ "vimeo/psalm" : " ^5.9"
1415 },
1516 "minimum-stability" : " dev" ,
1617 "prefer-stable" : true ,
3031 }
3132 },
3233 "scripts" : {
33- "test" : " ./vendor/bin/phpunit"
34+ "cs-check" : " phpcs" ,
35+ "cs-fix" : " phpcbf" ,
36+ "test" : " phpunit" ,
37+ "psalm" : " psalm"
3438 }
3539}
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <files psalm-version =" 5.9.0@8b9ad1eb9e8b7d3101f949291da2b9f7767cd163" >
3+ <file src =" IxDFCodingStandard/Sniffs/Classes/ForbidDirectClassInheritanceSniff.php" >
4+ <UndefinedClass >
5+ <code >Sniff</code >
6+ </UndefinedClass >
7+ </file >
8+ <file src =" IxDFCodingStandard/Sniffs/Classes/ForbidMethodDeclarationSniff.php" >
9+ <UndefinedClass >
10+ <code >Sniff</code >
11+ </UndefinedClass >
12+ </file >
13+ <file src =" IxDFCodingStandard/Sniffs/Files/BemCasedFilenameSniff.php" >
14+ <UndefinedClass >
15+ <code >Sniff</code >
16+ </UndefinedClass >
17+ </file >
18+ <file src =" IxDFCodingStandard/Sniffs/Functions/ForbiddenFunctionsSniff.php" >
19+ <UndefinedClass >
20+ <code >BaseForbiddenFunctionsSniff</code >
21+ </UndefinedClass >
22+ </file >
23+ <file src =" IxDFCodingStandard/Sniffs/Laravel/DisallowGuardedAttributeSniff.php" >
24+ <UndefinedClass >
25+ <code >AbstractScopeSniff</code >
26+ </UndefinedClass >
27+ </file >
28+ <file src =" IxDFCodingStandard/Sniffs/Laravel/NonExistingBladeTemplateSniff.php" >
29+ <UndefinedClass >
30+ <code >Sniff</code >
31+ </UndefinedClass >
32+ </file >
33+ <file src =" IxDFCodingStandard/Sniffs/Laravel/RequireCustomAbortMessageSniff.php" >
34+ <UndefinedClass >
35+ <code >Sniff</code >
36+ </UndefinedClass >
37+ </file >
38+ <file src =" IxDFCodingStandard/Sniffs/NamingConventions/CamelCaseRouteNameSniff.php" >
39+ <UndefinedClass >
40+ <code >Sniff</code >
41+ </UndefinedClass >
42+ </file >
43+ <file src =" IxDFCodingStandard/Sniffs/NamingConventions/MeaningfulVariableNameSniff.php" >
44+ <UndefinedClass >
45+ <code >AbstractVariableSniff</code >
46+ </UndefinedClass >
47+ </file >
48+ <file src =" IxDFCodingStandard/TokenHelper.php" >
49+ <InternalClass >
50+ <code >\SlevomatCodingStandard\Helpers\TokenHelper</code >
51+ </InternalClass >
52+ </file >
53+ </files >
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" ?>
2+ <psalm
3+ errorLevel =" 1"
4+ resolveFromConfigFile =" true"
5+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
6+ xmlns =" https://getpsalm.org/schema/config"
7+ xsi : schemaLocation =" https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
8+ findUnusedBaselineEntry =" true"
9+ findUnusedCode =" false"
10+ errorBaseline =" psalm-baseline.xml"
11+ cacheDirectory =" .cache/psalm"
12+ >
13+ <projectFiles >
14+ <directory name =" IxDFCodingStandard" />
15+ <ignoreFiles >
16+ <directory name =" vendor" />
17+ </ignoreFiles >
18+ </projectFiles >
19+ </psalm >
You can’t perform that action at this time.
0 commit comments