Skip to content

Fix

Fix #65

Workflow file for this run

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" # Remove when Psalm supports PHP 8.4 / @see https://github.com/vimeo/psalm/pull/10928
- 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