feat: add support for PHP 8.4 #1301
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: [push, pull_request] | |
jobs: | |
tests: | |
name: PHP ${{ matrix.php-version }} / ${{ matrix.dependencies }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
dependencies: | |
- "lowest" | |
- "highest" | |
- "locked" | |
php-version: | |
- "8.1" | |
- "8.2" | |
- "8.3" | |
- "8.4" | |
env: | |
php-extensions: ds,yaml | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
extensions: ${{ env.php-extensions }} | |
ini-values: zend.assertions=1 | |
coverage: none # Xdebug is installed by default, so we remove it manually | |
- uses: "ramsey/composer-install@v2" | |
with: | |
dependency-versions: ${{ matrix.dependencies }} | |
composer-options: "--ignore-platform-reqs" # @todo remove when Psalm supports PHP 8.4 | |
# @todo Removing Psalm until it is ready for PHP 8.4 | |
# @see https://github.com/vimeo/psalm/pull/10928 | |
- uses: php-actions/composer@v6 | |
with: | |
command: remove | |
args: --dev vimeo/psalm --no-interaction | |
- name: Running unit tests | |
run: php vendor/bin/phpunit --testsuite=unit | |
- name: Running functional tests | |
run: php vendor/bin/phpunit --testsuite=functional | |
- name: Running integration tests | |
run: php vendor/bin/phpunit --testsuite=integration | |
- name: Running unit tests (no mb_strcut) | |
run: php -d disable_functions=mb_strcut vendor/bin/phpunit --testsuite=unit | |
- name: Running functional tests (no mb_strcut) | |
run: php -d disable_functions=mb_strcut vendor/bin/phpunit --testsuite=functional | |
- name: Running integration tests (no mb_strcut) | |
run: php -d disable_functions=mb_strcut vendor/bin/phpunit --testsuite=integration |