continuous-integration.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. name: "Continuous Integration"
  2. on:
  3. - push
  4. - pull_request
  5. env:
  6. COMPOSER_FLAGS: "--ansi --no-interaction"
  7. jobs:
  8. tests:
  9. name: "CI"
  10. runs-on: ${{ matrix.os }}
  11. strategy:
  12. matrix:
  13. os: [ubuntu-latest]
  14. php-version:
  15. - "7.2"
  16. - "7.3"
  17. - "7.4"
  18. - "8.0"
  19. - "8.1"
  20. include:
  21. - os: windows-latest
  22. php-version: "7.4"
  23. - os: windows-latest
  24. php-version: "8.1"
  25. steps:
  26. - name: "Checkout"
  27. uses: "actions/checkout@v2"
  28. - name: "Install PHP"
  29. uses: "shivammathur/setup-php@v2"
  30. with:
  31. coverage: "none"
  32. php-version: "${{ matrix.php-version }}"
  33. - name: Get composer cache directory
  34. id: composercache
  35. run: echo "::set-output name=dir::$(composer config cache-files-dir)"
  36. - name: Cache dependencies
  37. uses: actions/cache@v2
  38. with:
  39. path: ${{ steps.composercache.outputs.dir }}
  40. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  41. restore-keys: ${{ runner.os }}-composer-
  42. - name: "Install latest dependencies"
  43. run: "composer update ${{ env.COMPOSER_FLAGS }}"
  44. - name: "Run tests"
  45. run: "php vendor/bin/phpunit"