diff --git a/.github/workflows/main-tests.yml b/.github/workflows/main-tests.yml new file mode 100644 index 0000000..c13aa12 --- /dev/null +++ b/.github/workflows/main-tests.yml @@ -0,0 +1,74 @@ +name: tests + +on: + push: + branches: + - main + pull_request: + schedule: + - cron: '0 0 * * *' + +jobs: + tests: + runs-on: ubuntu-22.04 + + services: + redis: + image: redis + ports: + - 6379:6379 + options: --entrypoint redis-server + + strategy: + fail-fast: true + matrix: + php: [7.3, 7.4, '8.0', 8.1, 8.2, 8.3] + laravel: [8, 9, 10, 11] + exclude: + - php: 7.3 + laravel: 9 + - php: 7.3 + laravel: 10 + - php: 7.3 + laravel: 11 + - php: 7.4 + laravel: 9 + - php: 7.4 + laravel: 10 + - php: 7.4 + laravel: 11 + - php: '8.0' + laravel: 10 + - php: '8.0' + laravel: 11 + - php: 8.1 + laravel: 11 + - php: 8.2 + laravel: 8 + - php: 8.3 + laravel: 8 + - php: 8.3 + laravel: 9 + + name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, redis, zip + ini-values: error_reporting=E_ALL + tools: composer:v2 + coverage: none + + - name: Install dependencies + run: | + composer require "illuminate/contracts=^${{ matrix.laravel }}" --dev --no-update + composer update --prefer-dist --no-interaction --no-progress + + - name: Execute tests + run: vendor/bin/phpunit