run-tests.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: run-tests
  2. on:
  3. - push
  4. - pull_request
  5. jobs:
  6. test:
  7. runs-on: ${{ matrix.os }}
  8. strategy:
  9. fail-fast: false
  10. matrix:
  11. os: [ubuntu-latest]
  12. php: [8.2, 8.1, 8.0]
  13. laravel: ['8.*', '9.*', '10.*', '11.*', '12.*']
  14. dependency-version: [prefer-lowest, prefer-stable]
  15. include:
  16. - laravel: 10.*
  17. testbench: 8.*
  18. - laravel: 9.*
  19. testbench: 7.*
  20. - laravel: 8.*
  21. testbench: ^6.23
  22. - laravel: 11.*
  23. testbench: 9.*
  24. - laravel: 12.*
  25. testbench: 10.*
  26. exclude:
  27. - laravel: 10.*
  28. php: 8.0
  29. - laravel: 11.*
  30. php: 8.1
  31. - laravel: 11.*
  32. php: 8.0
  33. - laravel: 12.*
  34. php: 8.1
  35. - laravel: 12.*
  36. php: 8.0
  37. name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }} - ${{ matrix.os }}
  38. steps:
  39. - name: Checkout code
  40. uses: actions/checkout@v1
  41. - name: Setup PHP
  42. uses: shivammathur/setup-php@v2
  43. with:
  44. php-version: ${{ matrix.php }}
  45. extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
  46. coverage: none
  47. - name: Install dependencies
  48. run: |
  49. composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
  50. composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
  51. - name: Execute tests
  52. run: vendor/bin/pest