2323
2424 matrix :
2525 php-version :
26- - " 8.1 "
26+ - " 8.5 "
2727
2828 dependencies :
2929 - " highest"
6161
6262 matrix :
6363 php-version :
64- - " 8.1"
65- - " 8.2"
66- - " 8.3"
67- - " 8.4"
6864 - " 8.5"
6965
7066 steps :
8480 tools : " ${{ env.TOOLS }}"
8581
8682 - name : " Lint PHP"
87- uses : " overtrue/phplint@9.6"
88-
89- install :
90- name : " Install dependencies"
91-
92- needs : " lint"
93-
94- runs-on : " ubuntu-latest"
95-
96- continue-on-error : ${{ matrix.experimental }}
97-
98- strategy :
99- fail-fast : false
100-
101- matrix :
102- php-version :
103- - " 8.1"
104- - " 8.2"
105- - " 8.3"
106- - " 8.4"
107- - " 8.5"
108-
109- dependencies :
110- - " lowest"
111- - " highest"
112-
113- experimental : [false]
114-
115- include :
116- - php-version : " 8.1"
117- dependencies : " locked"
118- experimental : false
119- - php-version : " 8.2"
120- dependencies : " locked"
121- experimental : false
122- - php-version : " 8.3"
123- dependencies : " locked"
124- experimental : false
125- - php-version : " 8.4"
126- dependencies : " highest"
127- experimental : false
128- - php-version : " 8.5"
129- dependencies : " highest"
130- experimental : false
131-
132- steps :
133- - name : " Checkout"
134- uses : " actions/checkout@v6"
135- with :
136- # Disabling shallow clone is recommended for improving relevancy of reporting
137- fetch-depth : 0
138-
139- - name : " Install PHP"
140- uses : " shivammathur/setup-php@2.36.0"
141- with :
142- php-version : " ${{ matrix.php-version }}"
143- extensions : " ${{ env.PHP_EXTENSIONS }}"
144- ini-values : " ${{ env.PHP_INI_VALUES }}"
145- coverage : " none"
146- tools : " ${{ env.TOOLS }}"
147-
148- - name : " Install lowest dependencies"
149- if : " ${{ matrix.dependencies == 'lowest' }}"
150- uses : " ramsey/composer-install@v3"
151- with :
152- dependency-versions : " ${{ matrix.dependencies }}"
153- composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable"
154-
155- - name : " Install highest dependencies"
156- if : " ${{ matrix.dependencies == 'highest' && matrix.experimental == false }}"
157- uses : " ramsey/composer-install@v3"
158- with :
159- dependency-versions : " ${{ matrix.dependencies }}"
160- composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable"
161-
162- - name : " Install highest dependencies (Experimental)"
163- if : " ${{ matrix.dependencies == 'highest' && matrix.experimental == true }}"
164- uses : " ramsey/composer-install@v3"
165- with :
166- dependency-versions : " ${{ matrix.dependencies }}"
167- composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable --ignore-platform-reqs"
168-
169- - name : " Install locked dependencies"
170- if : " ${{ matrix.dependencies == 'locked' }}"
171- uses : " ramsey/composer-install@v3"
172- with :
173- dependency-versions : " ${{ matrix.dependencies }}"
174- composer-options : " ${{ env.COMPOSER_OPTIONS }}"
175-
176- - name : " Check dependencies with composer"
177- run : " composer outdated --direct"
83+ uses : " overtrue/phplint@10.0"
17884
17985 coding-standards :
18086 name : " Check Coding Standards with PHPCS"
@@ -190,10 +96,10 @@ jobs:
19096
19197 matrix :
19298 php-version :
193- - " 8.1 "
99+ - " 8.5 "
194100
195101 dependencies :
196- - " highest "
102+ - " locked "
197103
198104 steps :
199105 - name : " Checkout"
@@ -215,7 +121,7 @@ jobs:
215121 uses : " ramsey/composer-install@v3"
216122 with :
217123 dependency-versions : " ${{ matrix.dependencies }}"
218- composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable "
124+ composer-options : " ${{ env.COMPOSER_OPTIONS }}"
219125
220126 - name : " Run squizlabs/php_codesniffer"
221127 run : " vendor/bin/phpcs --report=checkstyle -q | cs2pr"
@@ -234,10 +140,6 @@ jobs:
234140
235141 matrix :
236142 php-version :
237- - " 8.1"
238- - " 8.2"
239- - " 8.3"
240- - " 8.4"
241143 - " 8.5"
242144
243145 dependencies :
@@ -272,54 +174,6 @@ jobs:
272174 name : " UnitTests with PHPUnit"
273175
274176 needs : " lint"
275-
276- runs-on : " ubuntu-latest"
277-
278- continue-on-error : false
279-
280- strategy :
281- fail-fast : false
282-
283- matrix :
284- php-version :
285- - " 8.1"
286- - " 8.2"
287- - " 8.3"
288- - " 8.4"
289- - " 8.5"
290-
291- dependencies :
292- - " highest"
293-
294- steps :
295- - name : " Checkout"
296- uses : " actions/checkout@v6"
297- with :
298- # Disabling shallow clone is recommended for improving relevancy of reporting
299- fetch-depth : 0
300-
301- - name : " Install PHP"
302- uses : " shivammathur/setup-php@2.36.0"
303- with :
304- php-version : " ${{ matrix.php-version }}"
305- extensions : " ${{ env.PHP_EXTENSIONS }}"
306- ini-values : " ${{ env.PHP_INI_VALUES }}"
307- coverage : " none"
308- tools : " ${{ env.TOOLS }}"
309-
310- - name : " Update dependencies with composer"
311- uses : " ramsey/composer-install@v3"
312- with :
313- dependency-versions : " ${{ matrix.dependencies }}"
314- composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable"
315-
316- - name : " Run unit tests with phpunit/phpunit"
317- run : " vendor/bin/phpunit -c phpunit.xml.dist --no-coverage --colors"
318-
319- code-coverage :
320- name : " Code Coverage with PHPUnit"
321-
322- needs : " tests"
323177
324178 runs-on : " ubuntu-latest"
325179
@@ -329,15 +183,19 @@ jobs:
329183 fail-fast : false
330184
331185 matrix :
332- php-version :
333- - " 8.1"
334- - " 8.2"
335- - " 8.3"
336- - " 8.4"
337- - " 8.5"
338-
339- dependencies :
340- - " highest"
186+ include :
187+ - php-version : " 8.1"
188+ dependencies : " lowest"
189+ - php-version : " 8.1"
190+ dependencies : " highest"
191+ - php-version : " 8.2"
192+ dependencies : " highest"
193+ - php-version : " 8.3"
194+ dependencies : " highest"
195+ - php-version : " 8.4"
196+ dependencies : " highest"
197+ - php-version : " 8.5"
198+ dependencies : " highest"
341199
342200 steps :
343201 - name : " Checkout"
@@ -355,62 +213,15 @@ jobs:
355213 coverage : " xdebug"
356214 tools : " ${{ env.TOOLS }}"
357215
358- - name : " Update dependencies with composer"
216+ - name : " Install lowest dependencies"
217+ if : " ${{ matrix.dependencies == 'lowest' }}"
359218 uses : " ramsey/composer-install@v3"
360219 with :
361220 dependency-versions : " ${{ matrix.dependencies }}"
362221 composer-options : " ${{ env.COMPOSER_OPTIONS }} --prefer-stable"
363222
364- - name : " Collect code coverage with Xdebug and phpunit/phpunit"
365- run : " vendor/bin/phpunit -c phpunit.xml.dist --exclude-group compare --coverage-clover=coverage.clover --coverage-text --colors"
366-
367- - name : " Upload coverage to Codecov"
368- uses : " codecov/codecov-action@v5.5.2"
369- with :
370- file : " coverage.clover"
371- flags : " phpunit"
372- verbose : false
373-
374- comparison-checks :
375- name : " Compare results with PHPUnit"
376-
377- needs : " tests"
378-
379- runs-on : " ubuntu-latest"
380-
381- continue-on-error : false
382-
383- strategy :
384- fail-fast : false
385-
386- matrix :
387- php-version :
388- - " 8.1"
389- - " 8.2"
390- - " 8.3"
391- - " 8.4"
392- - " 8.5"
393-
394- dependencies :
395- - " highest"
396-
397- steps :
398- - name : " Checkout"
399- uses : " actions/checkout@v6"
400- with :
401- # Disabling shallow clone is recommended for improving relevancy of reporting
402- fetch-depth : 0
403-
404- - name : " Install PHP"
405- uses : " shivammathur/setup-php@2.36.0"
406- with :
407- php-version : " ${{ matrix.php-version }}"
408- extensions : " ${{ env.PHP_EXTENSIONS }}"
409- ini-values : " ${{ env.PHP_INI_VALUES }}"
410- coverage : " none"
411- tools : " ${{ env.TOOLS }}"
412-
413- - name : " Update dependencies with composer"
223+ - name : " Install highest dependencies"
224+ if : " ${{ matrix.dependencies == 'highest' }}"
414225 uses : " ramsey/composer-install@v3"
415226 with :
416227 dependency-versions : " ${{ matrix.dependencies }}"
@@ -422,8 +233,15 @@ jobs:
422233 mkdir -p resources
423234 cp /tmp/browscap.ini resources/browscap.ini
424235
425- - name : " Compare get_browser to browscap-php results"
426- run : " vendor/bin/phpunit -c phpunit.xml.dist --no-coverage --group compare --colors"
236+ - name : " Run unit tests with phpunit/phpunit"
237+ run : " vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover=coverage.clover --coverage-text --colors"
238+
239+ - name : " Upload coverage to Codecov"
240+ uses : " codecov/codecov-action@v5.5.2"
241+ with :
242+ file : " coverage.clover"
243+ flags : " phpunit"
244+ verbose : false
427245
428246 roave-backwards-compatibility-check :
429247 name : " Check for Backward Compatibility breaks"
0 commit comments