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: - "7.4" - "8.0" - "8.1" env: php-extensions: xdebug, yaml steps: - name: Checkout uses: actions/checkout@v3 - name: Setup cache environment id: extcache uses: shivammathur/cache-extensions@v1 with: php-version: ${{ matrix.php-version }} extensions: ${{ env.php-extensions }} key: tests-php-extensions-${{ runner.os }}-${{ matrix.php-version }}-${{ matrix.dependencies }} - name: Cache PHP extensions uses: actions/cache@v2 with: path: ${{ steps.extcache.outputs.dir }} key: ${{ steps.extcache.outputs.key }} restore-keys: ${{ steps.extcache.outputs.key }} - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} extensions: ${{ env.php-extensions }} ini-values: zend.assertions=1 - uses: "ramsey/composer-install@v2" with: dependency-versions: ${{ matrix.dependencies }} - 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