@@ -18,7 +18,8 @@ concurrency:
1818 cancel-in-progress : true
1919
2020env :
21- PHP_VERSION_LATEST : " 8.3"
21+ PHP_VERSION_LOWEST : " 8.1" # lowest supported
22+ PHP_VERSION_LATEST : " 8.4" # highest supported
2223 PHP_PROJECT_EXT : dom,json,libxml # via `composer info -pt`
2324 REPORTS_DIR : CI_reports
2425 TESTS_REPORTS_ARTIFACT : tests-reports
@@ -51,18 +52,19 @@ jobs:
5152 matrix :
5253 os : [ "ubuntu-latest" ]
5354 php :
54- - " 8.3" # highest supported
55+ - " 8.4" # highest supported
56+ - " 8.3"
5557 - " 8.2"
5658 - " 8.1" # lowest supported
5759 dependencies : [ "lowest", "highest" ]
5860 include :
5961 - # Windows highest
6062 os : windows-latest
61- php : " 8.3 "
63+ php : " 8.4 "
6264 dependencies : " highest"
6365 - # MacOS highest
6466 os : macos-latest
65- php : " 8.3 "
67+ php : " 8.4 "
6668 dependencies : " highest"
6769 timeout-minutes : 30
6870 steps :
@@ -103,7 +105,6 @@ jobs:
103105 # removing security-foo here is fine, as no code is run, only parsed
104106 composer remove --dev 'roave/security-advisories' \
105107 --no-update --no-install
106- composer config platform.php ${{ matrix.php }}
107108 composer update \
108109 --no-interaction --no-progress \
109110 --prefer-dist \
@@ -160,7 +161,7 @@ jobs:
160161 fail-fast : false
161162 matrix :
162163 php :
163- - " 8.3 " # highest supported
164+ - " 8.4 " # highest supported
164165 - " 8.1" # lowest supported
165166 composer :
166167 - " v2" # latest 2.x
@@ -171,10 +172,14 @@ jobs:
171172 - " 2.4"
172173 - " 2.3" # lowest supported
173174 dependencies : [ "highest" ]
175+ exclude :
176+ - # incompatible combination
177+ php : " 8.4"
178+ composer : " 2.3"
174179 include :
175180 - # lowest supported
176181 php : " 8.1"
177- composer : " 2.3"
182+ composer : " 2.3.0 "
178183 dependencies : " lowest"
179184 steps :
180185 - name : Checkout
@@ -184,7 +189,7 @@ jobs:
184189 # see https://github.com/shivammathur/setup-php
185190 uses : shivammathur/setup-php@v2
186191 with :
187- php-version : ${{ env.PHP_VERSION_LATEST }}
192+ php-version : ${{ matrix.php }}
188193 extensions : ${{ env.PHP_PROJECT_EXT }}
189194 tools : composer:${{ matrix.composer }}
190195 coverage : none
@@ -197,10 +202,11 @@ jobs:
197202 uses : actions/cache@v4
198203 with :
199204 path : ${{ steps.composer-cache.outputs.dir }}
200- key : composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('composer.*', 'tools/psalm/composer.*') }}
205+ key : composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-c${{ matrix.composer }}- ${{ matrix.dependencies }}-${{ hashFiles('composer.*', 'tools/psalm/composer.*') }}
201206 restore-keys : |
202- composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}-
203- composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-
207+ composer-${{ github.job }}-${{ runner.os }}-p${{ matrix.php }}-c${{ matrix.composer }}-${{ matrix.dependencies }}-
208+ composer-${{ github.job }}-${{ runner.os }}-p${{ matrix.php }}-c${{ matrix.composer }}-
209+ composer-${{ github.job }}-${{ runner.os }}-p${{ matrix.php }}-
204210 composer-${{ github.job }}-${{ runner.os }}-
205211 - name : Install psalm
206212 run : composer install --no-interaction --no-progress --prefer-dist
@@ -210,7 +216,6 @@ jobs:
210216 # removing security-foo here is fine, as no code is run, only parsed
211217 composer remove --dev 'roave/security-advisories' \
212218 --no-update --no-install
213- composer config platform.php ${{ matrix.php }}
214219 composer update \
215220 --no-interaction --no-progress \
216221 --prefer-dist \
@@ -321,7 +326,7 @@ jobs:
321326 # see https://github.com/shivammathur/setup-php
322327 uses : shivammathur/setup-php@v2
323328 with :
324- php-version : ${{ env.PHP_VERSION_LATEST }}
329+ php-version : ${{ env.PHP_VERSION_LOWEST }}
325330 extensions : ${{ env.PHP_PROJECT_EXT }}
326331 tools : ' composer:v2'
327332 coverage : none
@@ -343,8 +348,7 @@ jobs:
343348 - name : Run PHP-CS-Fixer tests
344349 run : >
345350 php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer
346- fix
347- --dry-run
351+ check
348352 --diff
349353 --using-cache=no
350354 --show-progress=dots
0 commit comments