1-
21name : PHP QA
32
43on :
@@ -18,29 +17,33 @@ jobs:
1817 strategy :
1918 fail-fast : false
2019 matrix :
21- php-version : ['7.4', '8.0', '8.1', '8.2', '8.3']
20+ php-version : ['8.1', '8.2', '8.3', '8.4']
21+ # Sorted alphabetically to ease finding the desired run in the GitHub Workflow UI.
2222 project : [
2323 ' Aws' ,
2424 ' Context/Swoole' ,
25+ ' Instrumentation/CakePHP' ,
26+ ' Instrumentation/CodeIgniter' ,
27+ ' Instrumentation/Curl' ,
2528 ' Instrumentation/ExtAmqp' ,
2629 ' Instrumentation/ExtRdKafka' ,
2730 ' Instrumentation/Guzzle' ,
2831 ' Instrumentation/HttpAsyncClient' ,
29- ' Instrumentation/Slim' ,
30- ' Instrumentation/CakePHP' ,
32+ ' Instrumentation/IO' ,
33+ ' Instrumentation/Laravel' ,
34+ ' Instrumentation/MongoDB' ,
35+ ' Instrumentation/MySqli' ,
36+ ' Instrumentation/OpenAIPHP' ,
37+ ' Instrumentation/PDO' ,
38+ # Sort PSRs numerically.
3139 ' Instrumentation/Psr3' ,
3240 ' Instrumentation/Psr6' ,
3341 ' Instrumentation/Psr14' ,
3442 ' Instrumentation/Psr15' ,
3543 ' Instrumentation/Psr16' ,
3644 ' Instrumentation/Psr18' ,
37- ' Instrumentation/IO' ,
38- ' Instrumentation/PDO' ,
45+ ' Instrumentation/Slim' ,
3946 ' Instrumentation/Symfony' ,
40- ' Instrumentation/OpenAIPHP' ,
41- ' Instrumentation/Laravel' ,
42- ' Instrumentation/MongoDB' ,
43- ' Instrumentation/CodeIgniter' ,
4447 ' Instrumentation/Yii' ,
4548 ' Instrumentation/Doctrine' ,
4649 ' Logs/Monolog' ,
@@ -50,79 +53,23 @@ jobs:
5053 ' ResourceDetectors/Container' ,
5154 ' Sampler/RuleBased' ,
5255 ' Shims/OpenTracing' ,
53- ' Symfony'
56+ ' Symfony' ,
5457 ]
5558 exclude :
56- - project : ' Instrumentation/Guzzle'
57- php-version : 7.4
58- - project : ' Instrumentation/HttpAsyncClient'
59- php-version : 7.4
60- - project : ' Instrumentation/Slim'
61- php-version : 7.4
62- - project : ' Instrumentation/Psr3'
63- php-version : 7.4
64- - project : ' Instrumentation/Psr6'
65- php-version : 7.4
66- - project : ' Instrumentation/Psr14'
67- php-version : 7.4
68- - project : ' Instrumentation/Psr15'
69- php-version : 7.4
70- - project : ' Instrumentation/Psr16'
71- php-version : 7.4
72- - project : ' Instrumentation/Psr18'
73- php-version : 7.4
74- - project : ' Instrumentation/IO'
75- php-version : 7.4
76- - project : ' Instrumentation/Symfony'
77- php-version : 7.4
78- - project : ' Instrumentation/Laravel'
79- php-version : 7.4
80- - project : ' Instrumentation/CodeIgniter'
81- php-version : 7.4
82- - project : ' Instrumentation/Yii'
83- php-version : 7.4
84- - project : ' Instrumentation/IO'
85- php-version : 8.0
8659 - project : ' Instrumentation/IO'
8760 php-version : 8.1
88- - project : ' Instrumentation/PDO '
89- php-version : 7.4
90- - project : ' Instrumentation/PDO '
91- php-version : 8.0
61+ - project : ' Instrumentation/Curl '
62+ php-version : 8.1
63+ - project : ' Instrumentation/MySqli '
64+ php-version : 8.1
9265 - project : ' Instrumentation/PDO'
9366 php-version : 8.1
94- - project : ' Instrumentation/ExtAmqp'
95- php-version : 7.4
96- - project : ' Instrumentation/ExtAmqp'
97- php-version : 8.0
9867 - project : ' Instrumentation/ExtAmqp'
9968 php-version : 8.1
100- - project : ' Instrumentation/ExtRdKafka'
101- php-version : 7.4
102- - project : ' Instrumentation/ExtRdKafka'
103- php-version : 8.0
10469 - project : ' Instrumentation/ExtRdKafka'
10570 php-version : 8.1
106- - project : ' Instrumentation/OpenAIPHP'
107- php-version : 7.4
108- - project : ' Instrumentation/OpenAIPHP'
109- php-version : 8.0
110- - project : ' Instrumentation/CakePHP'
111- php-version : 7.4
112- - project : ' Instrumentation/Doctrine'
113- php-version : 7.4
114- - project : ' Instrumentation/Doctrine'
115- php-version : 8.0
11671 - project : ' Instrumentation/Doctrine'
11772 php-version : 8.1
118- - project : ' Propagation/ServerTiming'
119- php-version : 7.4
120- - project : ' ResourceDetectors/Container'
121- php-version : 7.4
122- - project : ' Sampler/RuleBased'
123- php-version : 7.4
124- - project : ' Sampler/RuleBased'
125- php-version : 8.0
12673 steps :
12774 - uses : actions/checkout@v4
12875
13178 with :
13279 php-version : ${{ matrix.php-version }}
13380 coverage : xdebug
134- extensions : ast, amqp, grpc, opentelemetry, rdkafka
81+ extensions : ast, amqp, grpc, opentelemetry, rdkafka, mysqli
13582
13683 - name : Validate composer.json and composer.lock
13784 run : composer validate
@@ -158,7 +105,7 @@ jobs:
158105
159106 - name : Check Style
160107 working-directory : src/${{ matrix.project }}
161- run : vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php -v --dry-run --stop-on-violation --using-cache=no -vvv
108+ run : PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.php -v --dry-run --stop-on-violation --using-cache=no -vvv
162109
163110 - name : Run Phan
164111 working-directory : src/${{ matrix.project }}
@@ -191,6 +138,11 @@ jobs:
191138 run : |
192139 KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092,PLAINTEXT_HOST://localhost:9092 docker compose up kafka -d --wait
193140
141+ - name : Start Mysql
142+ if : ${{ matrix.project == 'Instrumentation/MySqli' }}
143+ run : |
144+ docker compose up mysql -d --wait
145+
194146 - name : Run PHPUnit
195147 working-directory : src/${{ matrix.project }}
196148 run : vendor/bin/phpunit
@@ -202,10 +154,10 @@ jobs:
202154 - name : Code Coverage
203155 uses : codecov/codecov-action@v4
204156 # only generate coverage against the latest PHP version
205- if : ${{ matrix.php-version == '8.3 ' }}
157+ if : ${{ matrix.php-version == '8.4 ' }}
206158 with :
207159 token : ${{ secrets.CODECOV_TOKEN }}
208160 directory : src/${{ matrix.project }}
209161 files : ./coverage.clover
210162 flags : ${{ matrix.project }}
211- verbose : false
163+ verbose : false
0 commit comments