php.yml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: PHP
  2. on: ["push", "pull_request"]
  3. jobs:
  4. build_and_test:
  5. name: Build and test rlp with ${{ matrix.php-version }}
  6. strategy:
  7. matrix:
  8. php-version: ["7.3", "7.4", "8.0"]
  9. runs-on: ubuntu-latest
  10. steps:
  11. - name: Setup PHP
  12. uses: shivammathur/setup-php@v2
  13. with:
  14. php-version: ${{ matrix.php-version }}
  15. - name: PHP version
  16. run: |
  17. php --version
  18. - uses: actions/checkout@v2
  19. - name: Validate composer.json and composer.lock
  20. run: composer validate
  21. - name: Cache Composer packages
  22. id: composer-cache
  23. uses: actions/cache@v2
  24. with:
  25. path: vendor
  26. key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
  27. restore-keys: |
  28. ${{ runner.os }}-php-
  29. - name: Install dependencies
  30. if: steps.composer-cache.outputs.cache-hit != 'true'
  31. run: composer install --prefer-dist --no-progress --no-suggest
  32. - name: Run test suite
  33. run: vendor/bin/phpunit --coverage-clover=coverage.xml
  34. - uses: codecov/codecov-action@v1
  35. with:
  36. token: ${{ secrets.CODECOV_TOKEN }}