ci.yml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. name: CI
  2. on:
  3. push:
  4. branches: ['master']
  5. pull_request:
  6. branches: ['*']
  7. schedule:
  8. - cron: '0 0 * * *'
  9. jobs:
  10. tests:
  11. name: Tests - PHP ${{ matrix.php }} ${{ matrix.dependency-version }}
  12. runs-on: ubuntu-latest
  13. timeout-minutes: 15
  14. strategy:
  15. matrix:
  16. php: [ '7.2', '7.3', '7.4', '8.0' ]
  17. dependency-version: [ '' ]
  18. include:
  19. - php: '7.2'
  20. dependency-version: '--prefer-lowest'
  21. steps:
  22. - name: Checkout
  23. uses: actions/checkout@v2
  24. - name: Setup PHP
  25. uses: shivammathur/setup-php@v2
  26. with:
  27. php-version: ${{ matrix.php }}
  28. tools: composer:v2
  29. coverage: none
  30. - name: Cache Composer dependencies
  31. uses: actions/cache@v2
  32. with:
  33. path: ~/.composer/cache
  34. key: php-${{ matrix.php }}-composer-locked-${{ hashFiles('composer.lock') }}
  35. restore-keys: php-${{ matrix.php }}-composer-locked-
  36. - name: Install PHP dependencies
  37. run: composer update ${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress --no-suggest
  38. - name: PHPUnit
  39. run: vendor/bin/phpunit
  40. cs:
  41. name: Coding standards
  42. runs-on: ubuntu-latest
  43. steps:
  44. - name: Checkout
  45. uses: actions/checkout@v2
  46. - name: Setup PHP
  47. uses: shivammathur/setup-php@v2
  48. with:
  49. php-version: 7.4
  50. tools: composer:v2, cs2pr
  51. coverage: none
  52. - name: Cache Composer dependencies
  53. uses: actions/cache@v2
  54. with:
  55. path: ~/.composer/cache
  56. key: php-74-composer-locked-${{ hashFiles('composer.lock') }}
  57. restore-keys: php-74-composer-locked-
  58. - name: Install PHP dependencies
  59. run: composer install --no-interaction --no-progress --no-suggest
  60. - name: PHP CodeSniffer
  61. run: vendor/bin/phpcs -q --no-colors --report=checkstyle | cs2pr