tests.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. name: tests
  2. on:
  3. push:
  4. branches:
  5. - master
  6. - '*.x'
  7. pull_request:
  8. schedule:
  9. - cron: '0 0 * * *'
  10. jobs:
  11. tests:
  12. runs-on: ubuntu-22.04
  13. strategy:
  14. fail-fast: true
  15. matrix:
  16. php: [7.2, 7.3, 7.4, '8.0', 8.1, 8.2, 8.3]
  17. laravel: [6, 7, 8, 9, 10]
  18. exclude:
  19. - php: 7.2
  20. laravel: 8
  21. - php: 7.2
  22. laravel: 9
  23. - php: 7.2
  24. laravel: 10
  25. - php: 7.3
  26. laravel: 9
  27. - php: 7.3
  28. laravel: 10
  29. - php: 7.4
  30. laravel: 9
  31. - php: 7.4
  32. laravel: 10
  33. - php: '8.0'
  34. laravel: 10
  35. - php: 8.1
  36. laravel: 6
  37. - php: 8.1
  38. laravel: 7
  39. - php: 8.2
  40. laravel: 6
  41. - php: 8.2
  42. laravel: 7
  43. - php: 8.2
  44. laravel: 8
  45. - php: 8.3
  46. laravel: 6
  47. - php: 8.3
  48. laravel: 7
  49. - php: 8.3
  50. laravel: 8
  51. - php: 8.3
  52. laravel: 9
  53. name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
  54. steps:
  55. - name: Checkout code
  56. uses: actions/checkout@v4
  57. - name: Setup PHP
  58. uses: shivammathur/setup-php@v2
  59. with:
  60. php-version: ${{ matrix.php }}
  61. extensions: dom, curl, libxml, mbstring, zip
  62. ini-values: error_reporting=E_ALL
  63. tools: composer:v2
  64. coverage: none
  65. - name: Install dependencies
  66. run: |
  67. composer require "illuminate/contracts=^${{ matrix.laravel }}" --no-update
  68. composer update --prefer-dist --no-interaction --no-progress
  69. - name: Execute tests
  70. run: vendor/bin/phpunit