test.yml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Test
  2. on:
  3. pull_request:
  4. push:
  5. branches: [ master ]
  6. jobs:
  7. test:
  8. runs-on: ubuntu-latest
  9. strategy:
  10. max-parallel: 15
  11. fail-fast: false
  12. matrix:
  13. coverage: [ 'none' ]
  14. php-versions: [ '8.0', '8.1', '8.2' ]
  15. exclude:
  16. - php-versions: '8.2'
  17. include:
  18. - php-versions: '8.2'
  19. coverage: 'xdebug'
  20. name: PHP ${{ matrix.php-versions }}
  21. steps:
  22. - name: Checkout
  23. uses: actions/checkout@v3
  24. - name: Setup PHP
  25. uses: shivammathur/setup-php@v2
  26. with:
  27. php-version: ${{ matrix.php-versions }}
  28. extensions: json, mbstring, xdebug
  29. coverage: ${{ matrix.coverage }}
  30. - name: Install dependencies
  31. run: composer update --no-interaction --prefer-dist --no-suggest --prefer-stable
  32. - name: Lint composer.json
  33. run: composer validate --strict
  34. - name: Run Tests
  35. run: vendor/bin/phpunit -v
  36. - name: Upload coverage results
  37. if: matrix.coverage != 'none'
  38. uses: codecov/codecov-action@v3