continuous-integration.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: "Continuous Integration"
  2. on:
  3. - push
  4. - pull_request
  5. env:
  6. COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
  7. SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT: "1"
  8. jobs:
  9. tests:
  10. name: "CI"
  11. runs-on: ubuntu-latest
  12. strategy:
  13. matrix:
  14. php-version:
  15. - "5.3"
  16. - "5.4"
  17. - "5.5"
  18. - "5.6"
  19. - "7.0"
  20. - "7.1"
  21. - "7.2"
  22. - "7.3"
  23. - "7.4"
  24. - "8.0"
  25. - "8.1"
  26. steps:
  27. - name: "Checkout"
  28. uses: "actions/checkout@v2"
  29. - name: "Install PHP"
  30. uses: "shivammathur/setup-php@v2"
  31. with:
  32. coverage: "none"
  33. php-version: "${{ matrix.php-version }}"
  34. - name: Get composer cache directory
  35. id: composercache
  36. run: echo "::set-output name=dir::$(composer config cache-files-dir)"
  37. - name: Cache dependencies
  38. uses: actions/cache@v2
  39. with:
  40. path: ${{ steps.composercache.outputs.dir }}
  41. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  42. restore-keys: ${{ runner.os }}-composer-
  43. - name: "Install latest dependencies"
  44. run: |
  45. # Remove PHPStan as it requires a newer PHP
  46. composer remove phpstan/phpstan --dev --no-update
  47. composer update ${{ env.COMPOSER_FLAGS }}
  48. - name: "Run tests"
  49. run: "vendor/bin/simple-phpunit --verbose"