1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [ "main", "develop" ]
6+ pull_request :
7+ branches : [ "main", "develop" ]
8+
9+ permissions :
10+ contents : read
11+
12+ jobs :
13+
14+ code-style :
15+ runs-on : ' ubuntu-latest'
16+ name : ' Coding style'
17+ steps :
18+ - name : ' Checkout'
19+ uses : ' actions/checkout@v3'
20+
21+ - name : ' Setup PHP'
22+ uses : ' shivammathur/setup-php@v2'
23+ with :
24+ php-version : ' 8.1'
25+ coverage : ' none'
26+ tools : ' composer:v2, composer-normalize'
27+
28+ - name : ' Install dependencies'
29+ run : |
30+ composer install --no-interaction --no-progress --ansi
31+
32+ - name : ' Check PHP code'
33+ run : |
34+ composer phpcs
35+ composer phpmd
36+
37+ - name : ' Check composer.json'
38+ run : ' composer-normalize --diff --dry-run --no-update-lock'
39+ if : ' always()'
40+
41+ phpunit :
42+ runs-on : ${{ matrix.system }}
43+ name : ' PHPUnit (PHP ${{ matrix.php }} - ${{ matrix.system }})'
44+ strategy :
45+ matrix :
46+ system : ['ubuntu-latest']
47+ php :
48+ - ' 8.1'
49+ steps :
50+ - name : Checkout Code
51+ uses : actions/checkout@v3
52+
53+ - name : ' Setup PHP'
54+ uses : ' shivammathur/setup-php@v2'
55+ with :
56+ php-version : ' ${{ matrix.php }}'
57+ coverage : ' none'
58+ tools : ' composer:v2'
59+
60+ - name : ' Install dependencies'
61+ run : |
62+ composer install --no-interaction --no-progress --ansi
63+
64+ - name : ' Run unit tests'
65+ run : |
66+ composer phpunit
67+
68+ code-coverage :
69+ runs-on : ' ubuntu-latest'
70+ name : ' Code Coverage'
71+ steps :
72+ - name : ' Checkout'
73+ uses : ' actions/checkout@v3'
74+
75+ - name : ' Setup PHP'
76+ uses : ' shivammathur/setup-php@v2'
77+ with :
78+ php-version : ' 8.1'
79+ tools : ' composer:v2'
80+
81+ - name : ' Install dependencies'
82+ run : |
83+ composer install --no-interaction --no-progress --ansi
84+
85+ - name : ' Run code coverage'
86+ run : |
87+ composer coverage
88+
89+ - name : Send code coverage report to Codecov.io
90+ uses : codecov/codecov-action@v2
91+ with :
92+ token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments