name: Tests on: - push - pull_request jobs: tests: strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest - windows-latest php: - "7.4" - "8.0" - "8.1" - "8.2" - "8.3" name: PHP ${{ matrix.php }} - ${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 10 env: extensions: dom, curl, fileinfo, libxml, mbstring, zip steps: - name: Checkout uses: actions/checkout@v6 - name: Setup cache environment id: extcache uses: shivammathur/cache-extensions@v1 with: php-version: ${{ matrix.php }} extensions: ${{ env.extensions }} key: php-extensions-cache - name: Cache extensions uses: actions/cache@v5 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 }} extensions: ${{ env.extensions }} coverage: pcov - name: Install PHP dependencies run: composer update --no-interaction --no-progress --ansi - name: Unit Tests run: composer test