name: main on: [push, pull_request] jobs: phpunit: name: PHPUnit runs-on: ${{ matrix.operating-system }} strategy: fail-fast: false matrix: operating-system: [ubuntu-latest, windows-latest, macos-latest] php-version: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5'] steps: - name: Install SASL library on macOS if: matrix.operating-system == 'macos-latest' && matrix.php-version >= 8.5 run: brew update && brew install cyrus-sasl - name: Setup PHP, with composer and extensions uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} extensions: bz2, curl, fileinfo, mbstring, exif, openssl, zip coverage: xdebug - name: Checkout uses: actions/checkout@v5 - name: Install dependencies run: composer install --ansi --prefer-dist --no-interaction --no-progress - name: PHPUnit Migrate Configuration if: ${{ matrix.php-version != '7.4' && matrix.php-version != '8.0'}} run: vendor/bin/phpunit --migrate-configuration - name: Run PHPUnit run: vendor/bin/phpunit --testsuite UnitTest --fail-on-warning --fail-on-incomplete --fail-on-risky