| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- name: Run tests
- on:
- push:
- pull_request:
- schedule:
- - cron: '0 0 * * *'
- jobs:
- tests:
- if: "!contains(github.event.head_commit.message, 'skip ci')"
- runs-on: ${{ matrix.os }}
- services:
- mysql:
- image: mysql:5.7
- env:
- MYSQL_DATABASE: laravel_excel
- MYSQL_ALLOW_EMPTY_PASSWORD: yes
- ports:
- - 3306
- options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
- strategy:
- matrix:
- php: [7.4, 8.0, 8.1, 8.2, 8.3]
- laravel: [10, 9, 8, 7, 6, 5.8]
- dependency-version: [prefer-stable]
- os: [ubuntu-latest]
- include:
- - laravel: 10
- scout: 10.*
- testbench: 8.*
- - laravel: 9
- scout: 9.*
- testbench: 7.*
- - laravel: 8
- scout: 8.*
- testbench: 6.*
- - laravel: 7
- scout: 7.2.*
- testbench: 5.*
- - laravel: 6
- scout: 7.1.*
- testbench: 4.*
- - laravel: 5.8
- scout: 7.1.*
- testbench: 3.8.*
- exclude:
- - laravel: 10
- php: 8.0
- - laravel: 10
- php: 7.4
- - laravel: 9
- php: 7.4
- - laravel: 7
- php: 8.0
- - laravel: 7
- php: 8.1
- - laravel: 7
- php: 8.2
- - laravel: 7
- php: 8.3
- - laravel: 6
- php: 8.0
- - laravel: 6
- php: 8.1
- - laravel: 6
- php: 8.2
- - laravel: 6
- php: 8.3
- - laravel: 5.8
- php: 8.0
- - laravel: 5.8
- php: 8.1
- - laravel: 5.8
- php: 8.2
- - laravel: 5.8
- php: 8.3
- name: PHP${{ matrix.php }} - L${{ matrix.laravel }}
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Cache dependencies
- uses: actions/cache@v3
- with:
- path: ~/.composer/cache/files
- key: dependency-cache-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php }}
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, mysql, pdo_mysql, bcmath, intl, gd, exif, iconv
- coverage: none
- - name: Install dependencies
- run: |
- composer require "laravel/framework:${{ matrix.laravel }}.*" "orchestra/testbench:${{ matrix.testbench }}" "laravel/scout:${{ matrix.scout }}" --no-interaction --no-update
- composer update --${{ matrix.dependency-version }} --no-interaction
- - name: Install legacy factories
- run: |
- composer require "laravel/legacy-factories" --no-interaction
- if: "matrix.laravel >= 8"
- - name: Execute tests
- run: vendor/bin/phpunit --testdox --configuration phpunit.xml.dist
- env:
- DB_PORT: ${{ job.services.mysql.ports[3306] }}
|