test.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: Test
  2. on:
  3. push:
  4. branches:
  5. - "master"
  6. pull_request:
  7. jobs:
  8. build:
  9. runs-on: ubuntu-24.04
  10. strategy:
  11. fail-fast: true
  12. matrix:
  13. php: [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4]
  14. name: PHP:${{ matrix.php }}
  15. steps:
  16. - name: Checkout
  17. uses: actions/checkout@v4
  18. - name: Setup PHP, with composer
  19. uses: shivammathur/setup-php@v2
  20. with:
  21. php-version: ${{ matrix.php }}
  22. tools: composer:v2
  23. coverage: xdebug
  24. - name: Get composer cache directory
  25. id: composer-cache
  26. run: |
  27. echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
  28. shell: bash
  29. - name: Cache composer dependencies
  30. uses: actions/cache@v4
  31. with:
  32. path: ${{ steps.composer-cache.outputs.dir }}
  33. key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
  34. restore-keys: dependencies-php-${{ matrix.php }}-composer-
  35. - name: Install Composer dependencies
  36. run: |
  37. composer install --prefer-dist --no-interaction --no-suggest
  38. - name: Run Unit tests
  39. run: |
  40. vendor/bin/phpunit --coverage-clover=tests/logs/clover.xml
  41. - name: Upload coverage results to Coveralls
  42. env:
  43. COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  44. run: |
  45. composer global require php-coveralls/php-coveralls "^1.0"
  46. coveralls --coverage_clover=tests/logs/clover.xml -v