diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 067165a..c1fc195 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,27 +1,34 @@ -name: Tests +name: run-tests -on: [push, pull_request] +on: + push: + paths: + - '**.php' + - '.github/workflows/run-tests.yml' + - 'phpunit.xml.dist' + - 'composer.json' + - 'composer.lock' jobs: test: runs-on: ${{ matrix.os }} + timeout-minutes: 5 strategy: - fail-fast: false + fail-fast: true matrix: os: [ubuntu-latest, windows-latest] - php: [8.1, 8.2] + php: [8.3, 8.2] laravel: [11.*, 10.*] + stability: [prefer-lowest, prefer-stable] include: - - laravel: 10.* - testbench: 8.* - laravel: 11.* testbench: 9.* - exclude: - - laravel: 11.* - - php: 8.1 - + carbon: ^2.63 + - laravel: 10.* + testbench: 8.* + carbon: ^2.63 - name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.os }} + name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} steps: - name: Checkout code @@ -41,7 +48,11 @@ jobs: - name: Install dependencies run: | - composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:^2.64.1" --no-interaction --no-update + composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:${{ matrix.os == 'windows-latest' && '^^^' || '' }}${{ matrix.carbon }}" --no-interaction --no-update + composer update --${{ matrix.stability }} --prefer-dist --no-interaction + + - name: List Installed Dependencies + run: composer show -D - name: Execute tests - run: vendor/bin/pest + run: vendor/bin/pest --ci diff --git a/composer.json b/composer.json index d7b2f82..718ce5e 100644 --- a/composer.json +++ b/composer.json @@ -18,21 +18,19 @@ "require": { "php": "^8.1", "guzzlehttp/guzzle": "^7.5", - "illuminate/contracts": "^9.28|^10.0|^11.0", - "spatie/laravel-package-tools": "^1.13.0" + "illuminate/contracts": "^10.0||^11.0", + "spatie/laravel-package-tools": "^1.16" }, "require-dev": { - "laravel/pint": "^1.0", - "nunomaduro/collision": "^6.0|^7.9", - "nunomaduro/larastan": "^2.0.1", - "orchestra/testbench": "^7.0|^8.0", - "pestphp/pest": "^1.21", - "pestphp/pest-plugin-laravel": "^1.1", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5", - "ext-json": "*" + "laravel/pint": "^1.14", + "nunomaduro/collision": "^8.1.1||^7.10.0", + "larastan/larastan": "^2.9", + "orchestra/testbench": "^9.0.0||^8.22.0", + "pestphp/pest": "^2.34", + "pestphp/pest-plugin-laravel": "^2.3", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3" }, "autoload": { "psr-4": {