diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 86599ba5a..46c0187bb 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -1,33 +1,44 @@ name: Tests -on: [push,pull_request] +on: + - push + - pull_request jobs: phpunit: runs-on: ${{ matrix.os }} + strategy: fail-fast: false matrix: php: [8.2, 8.1] os: [ubuntu-latest, windows-latest] - laravel: [10.*] + laravel: ['10.*', '11.*'] dependency-version: [prefer-lowest, prefer-stable] include: - laravel: 10.* testbench: 8.* + - laravel: 11.* + testbench: 9.* + exclude: + - laravel: 11.* + php: 8.1 name: P${{ matrix.php }} - ${{ matrix.os }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} + steps: - name: Checkout code ๐Ÿ›Ž๏ธ uses: actions/checkout@v3 + - name: Cache dependencies ๐Ÿ”ง uses: actions/cache@v3.3.1 with: path: ~/.composer/cache/files key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} + - name: Setup PHP ๐Ÿ”ง uses: shivammathur/setup-php@v2 with: @@ -36,39 +47,50 @@ jobs: coverage: none tools: composer:v2 + - name: Install dependencies ๐Ÿ”ง run: | composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction + - name: Execute tests (Unit and Feature tests) via PHPUnit ๐Ÿงช run: vendor/bin/phpunit --no-coverage --disable-coverage-ignore dusk: runs-on: ubuntu-latest + + steps: - uses: actions/checkout@v3 with: fetch-depth: 1 + - name: PHP version run: php -v - uses: actions/checkout@v3 + + - name: Install Dependencies run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Make SQLite database run: vendor/orchestra/testbench-dusk/create-sqlite-db + - name: Update Dusk Chromedriver run: vendor/bin/dusk-updater detect --auto-update + - name: Execute Unit Tests run: vendor/bin/phpunit --testsuite=Browser --no-coverage --disable-coverage-ignore env: RUNNING_IN_CI: true + - name: Upload Failed Screenshots uses: actions/upload-artifact@v3.1.2 if: failure()