phpstan.yml 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. name: "PHPStan"
  2. on:
  3. - push
  4. - pull_request
  5. env:
  6. COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
  7. permissions:
  8. contents: read # to fetch code (actions/checkout)
  9. jobs:
  10. tests:
  11. name: "PHPStan"
  12. runs-on: ubuntu-latest
  13. strategy:
  14. matrix:
  15. php-version:
  16. - "8.1"
  17. steps:
  18. - name: "Checkout"
  19. uses: "actions/checkout@v2"
  20. - name: "Install PHP"
  21. uses: "shivammathur/setup-php@v2"
  22. with:
  23. coverage: "none"
  24. php-version: "${{ matrix.php-version }}"
  25. extensions: mongodb, redis, amqp
  26. - name: Get composer cache directory
  27. id: composercache
  28. run: echo "::set-output name=dir::$(composer config cache-files-dir)"
  29. - name: Cache dependencies
  30. uses: actions/cache@v2
  31. with:
  32. path: ${{ steps.composercache.outputs.dir }}
  33. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  34. restore-keys: ${{ runner.os }}-composer-
  35. - name: Add require for mongodb/mongodb to make tests runnable
  36. run: 'composer require ${{ env.COMPOSER_FLAGS }} mongodb/mongodb --dev --no-update'
  37. - name: "Install latest dependencies"
  38. run: "composer update ${{ env.COMPOSER_FLAGS }}"
  39. - name: Run PHPStan
  40. run: composer phpstan