Workflow: Add PHPStan static analyzer
This commit is contained in:
parent
132d49777a
commit
69a3e9aa8e
|
@ -31,7 +31,46 @@ jobs:
|
|||
tools: phpcs
|
||||
|
||||
- name: Setup dependencies
|
||||
run: composer require -n --no-progress overtrue/phplint
|
||||
run: |
|
||||
composer require -n --no-progress overtrue/phplint phpunit/phpunit ipl/stdlib:@dev ipl/html:@dev
|
||||
git clone --depth 1 https://github.com/Icinga/icingaweb2.git vendor/icingaweb2
|
||||
git clone --depth 1 -b snapshot/nightly https://github.com/Icinga/icinga-php-thirdparty.git vendor/icinga-php-thirdparty
|
||||
git clone --depth 1 https://github.com/Icinga/icingaweb2-module-cube.git vendor/cube
|
||||
|
||||
- name: Setup Incubator
|
||||
run: |
|
||||
git clone --depth 1 https://github.com/Icinga/icingaweb2-module-incubator vendor/incubator
|
||||
cd vendor/incubator
|
||||
composer require --no-update \
|
||||
"gipfl/calendar": "dev-master as 99.x-dev" \
|
||||
"gipfl/cli": "dev-master as 99.x-dev" \
|
||||
"gipfl/curl": "dev-master as 99.x-dev" \
|
||||
"gipfl/data-type": "dev-master as 99.x-dev" \
|
||||
"gipfl/db-migration": "dev-master as 99.x-dev" \
|
||||
"gipfl/diff": "dev-master as 99.x-dev" \
|
||||
"gipfl/format": "dev-master as 99.x-dev" \
|
||||
"gipfl/icinga-bundles": "dev-master as 99.x-dev" \
|
||||
"gipfl/icinga-cli-daemon": "dev-master as 99.x-dev" \
|
||||
"gipfl/icingaweb2": "dev-master as 99.x-dev" \
|
||||
"gipfl/influxdb": "dev-master as 99.x-dev" \
|
||||
"gipfl/json": "dev-master as 99.x-dev" \
|
||||
"gipfl/linux-health": "dev-master as 99.x-dev" \
|
||||
"gipfl/log": "dev-master as 99.x-dev" \
|
||||
"gipfl/process": "dev-master as 99.x-dev" \
|
||||
"gipfl/protocol-jsonrpc": "dev-master as 99.x-dev" \
|
||||
"gipfl/protocol-netstring": "dev-master as 99.x-dev" \
|
||||
"gipfl/react-utils": "dev-master as 99.x-dev" \
|
||||
"gipfl/simple-daemon": "dev-master as 99.x-dev" \
|
||||
"gipfl/socket": "dev-master as 99.x-dev" \
|
||||
"gipfl/stream": "dev-master as 99.x-dev" \
|
||||
"gipfl/systemd": "dev-master as 99.x-dev" \
|
||||
"gipfl/translation": "dev-master as 99.x-dev" \
|
||||
"gipfl/web": "dev-master as 99.x-dev" \
|
||||
"gipfl/zfdb": "dev-master as 99.x-dev" \
|
||||
"gipfl/zfdbstore": "dev-master as 99.x-dev"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git config user.name "github-actions[bot]"
|
||||
bin/make-release.sh snapshot
|
||||
|
||||
- name: PHP Lint
|
||||
if: ${{ ! cancelled() }}
|
||||
|
@ -41,6 +80,10 @@ jobs:
|
|||
if: ${{ ! cancelled() }}
|
||||
run: phpcs
|
||||
|
||||
- name: PHPStan
|
||||
if: ${{ ! cancelled() }}
|
||||
uses: php-actions/phpstan@v3
|
||||
|
||||
test:
|
||||
name: Unit tests with php ${{ matrix.php }} on ${{ matrix.os }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
parameters:
|
||||
level: 2
|
||||
|
||||
checkFunctionNameCase: false
|
||||
checkInternalClassCaseSensitivity: false
|
||||
treatPhpDocTypesAsCertain: false
|
||||
|
||||
paths:
|
||||
- application
|
||||
- library/Director
|
||||
|
||||
ignoreErrors:
|
||||
- '#Unsafe usage of new static\(\)#'
|
||||
- '#. but return statement is missing#'
|
||||
|
||||
scanDirectories:
|
||||
- vendor
|
||||
- library/Director/Test
|
||||
excludePaths:
|
||||
- library/Director/CoreBeta
|
||||
|
||||
universalObjectCratesClasses:
|
||||
- Icinga\Module\Director\Data\Db\DbObject
|
||||
- Icinga\Data\ConfigObject
|
||||
- Icinga\Web\View
|
||||
- Icinga\Module\Monitoring\Object\MonitoredObject
|
||||
- Icinga\Module\Monitoring\DataView\DataView
|
||||
- Icinga\Web\Session\SessionNamespace
|
||||
- Icinga\User\Preferences
|
Loading…
Reference in New Issue