Repository navigation
75 lines (59 loc) · 2.25 KB
/
Copy pathcode_analysis.yaml
File metadata and controls
75 lines (59 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
name: Code Analysis
on:
pull_request: null
push:
branches:
- main
jobs:
code_analysis:
strategy:
fail-fast: false
matrix:
actions:
-
name: 'Lint Neon'
run: vendor/bin/neon-lint config/
-
name: 'PHPStan'
run: composer phpstan --ansi
-
name: 'Composer Validate'
run: composer validate --ansi
-
name: 'Rector'
run: composer rector --ansi
-
name: 'Coding Standard'
run: composer fix-cs --ansi
-
name: 'Tests'
run: vendor/bin/phpunit
-
name: 'Composer Dependency Analysis'
run: vendor/bin/composer-dependency-analyser
-
name: 'Check Active Classes'
run: vendor/bin/class-leak check src --ansi --skip-type "PHPStan\Type\DynamicMethodReturnTypeExtension" --skip-type "PHPStan\Type\DynamicFunctionReturnTypeExtension"
name: ${{ matrix.actions.name }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# see https://github.com/shivammathur/setup-php
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
coverage: none
# composer install cache - https://github.com/ramsey/composer-install
- uses: "ramsey/composer-install@v2"
- run: ${{ matrix.actions.run }}
# verify the runtime source stays syntax-compatible with PHP 7.4
php_74_compatibility:
runs-on: ubuntu-latest
name: 'PHP 7.4 Compatibility'
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 7.4
coverage: none
- run: find src -name '*.php' -print0 | xargs -0 -n1 -P4 php -l