6565 - php : ' 8.4'
6666 skip_tests : true
6767
68+ # Run a couple of builds with custom extensions to allow for testing ini handling within PHPCS.
69+ # Ref: https://github.com/PHPCSStandards/PHP_CodeSniffer/issues/416
70+ - php : ' 7.3'
71+ os : ' ubuntu-latest'
72+ extensions : ' :mysqli' # Run with mysqli disabled.
73+ - php : ' 8.2'
74+ os : ' ubuntu-latest'
75+ extensions : ' :mysqli' # Run with mysqli disabled.
76+
6877 # The default libxml library on Ubuntu images is a little out of date.
6978 # To safeguard support for the latest libxml we need to update the library on the fly.
7079 # This only needs to be tested with one PHP version for each libxml minor to verify support.
@@ -183,6 +192,7 @@ jobs:
183192 with :
184193 php-version : ${{ matrix.php }}
185194 ini-values : ${{ steps.set_ini.outputs.PHP_INI }}
195+ extensions : ${{ matrix.extensions }}
186196 coverage : none
187197 tools : cs2pr
188198
@@ -269,10 +279,12 @@ jobs:
269279 custom_ini : [false]
270280
271281 include :
272- # Also run one coverage build with custom ini settings.
282+ # Also run one coverage build with custom ini settings for testing the DisallowShortOpenTag sniff.
283+ # Also run with a disabled extension for testing the handling of unsettable ini settings by PHPCS.
273284 - php : ' 8.1'
274285 os : ' ubuntu-latest'
275286 custom_ini : true
287+ extensions : ' :mysqli' # Run with mysqli disabled.
276288
277289 # yamllint disable-line rule:line-length
278290 name : " Coverage: ${{ matrix.php }} ${{ matrix.custom_ini && ' with custom ini settings' || '' }} (${{ matrix.os == 'ubuntu-latest' && 'Linux' || 'Win' }})"
@@ -297,6 +309,7 @@ jobs:
297309 with :
298310 php-version : ${{ matrix.php }}
299311 ini-values : error_reporting=-1, display_errors=On${{ steps.set_ini.outputs.PHP_INI }}
312+ extensions : ${{ matrix.extensions }}
300313 coverage : xdebug
301314
302315 # Install dependencies and handle caching in one go.
0 commit comments