tests.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Tests
  2. on: [push, pull_request]
  3. jobs:
  4. php-tests:
  5. runs-on: ${{ matrix.os }}
  6. strategy:
  7. fail-fast: true
  8. matrix:
  9. php: [8.2, 8.1, 8.0, 7.4, 7.3, 7.2, 7.1]
  10. dependency-version: [prefer-stable]
  11. os: [ubuntu-latest, windows-latest]
  12. name: ${{ matrix.os }} - PHP${{ matrix.php }} - ${{ matrix.dependency-version }}
  13. steps:
  14. - name: Set git to use LF
  15. run: |
  16. git config --global core.autocrlf false
  17. git config --global core.eol lf
  18. - name: Checkout code
  19. uses: actions/checkout@v3
  20. - name: Cache dependencies
  21. uses: actions/cache@v3
  22. with:
  23. path: ~/.composer/cache/files
  24. key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
  25. - name: Setup PHP
  26. uses: shivammathur/setup-php@v2
  27. with:
  28. php-version: ${{ matrix.php }}
  29. coverage: none
  30. - name: Install dependencies
  31. run: |
  32. composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction
  33. - name: Execute tests
  34. run: vendor/bin/phpunit
  35. - name: Code Sniffer
  36. run: vendor/bin/phpcs