tests #2257
This file contains hidden or 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: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| jobs: | |
| resolve: | |
| name: Resolve P${{ matrix.php }} - L${{ matrix.laravel }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [ 8.4, 8.3, 8.2 ] | |
| laravel: [ 13.*, 12.* ] | |
| exclude: | |
| - php: 8.2 | |
| laravel: 13.* | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| extensions: curl, dom, intl, json, libxml, mbstring, openssl, zip | |
| tools: composer:v2 | |
| - name: Check dependency resolution | |
| run: | | |
| case "${{ matrix.laravel }}" in | |
| 13.*) testbench="^11.0" ;; | |
| 12.*) testbench="^10.0" ;; | |
| esac | |
| composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction | |
| composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction | |
| composer update --prefer-stable --prefer-dist --no-interaction --no-progress --dry-run | |
| tests: | |
| name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} | |
| runs-on: ubuntu-latest | |
| needs: resolve | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| php: [ 8.4, 8.3, 8.2 ] | |
| laravel: [ 13.*, 12.* ] | |
| dependency-version: [ prefer-stable ] | |
| exclude: | |
| - php: 8.2 | |
| laravel: 13.* | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| extensions: curl, dom, intl, json, libxml, mbstring, openssl, zip | |
| tools: composer:v2 | |
| coverage: xdebug | |
| - name: Install dependencies | |
| run: | | |
| case "${{ matrix.laravel }}" in | |
| 13.*) testbench="^11.0" ;; | |
| 12.*) testbench="^10.0" ;; | |
| esac | |
| composer require "illuminate/support:${{ matrix.laravel }}" --no-update --no-interaction | |
| composer require --dev "orchestra/testbench:${testbench}" --no-update --no-interaction | |
| composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress | |
| - name: Execute tests | |
| run: vendor/bin/phpunit --coverage-text | |
| prefer-lowest: | |
| name: Prefer lowest (P8.2) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: 8.2 | |
| extensions: curl, dom, intl, json, libxml, mbstring, openssl, zip | |
| tools: composer:v2 | |
| coverage: xdebug | |
| - name: Install lowest dependencies | |
| run: | | |
| composer update --prefer-lowest --prefer-stable --prefer-dist --no-interaction --no-progress | |
| - name: Execute tests | |
| run: vendor/bin/phpunit --coverage-text |