quality-assurance.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. ---
  2. name: Quality Assurance
  3. on:
  4. push:
  5. branches:
  6. - 1.x
  7. pull_request:
  8. branches:
  9. - 1.x
  10. jobs:
  11. phpunit:
  12. name: PHPUnit tests on ${{ matrix.php }} ${{ matrix.composer-flags }}
  13. runs-on: ubuntu-latest
  14. continue-on-error: ${{ matrix.experimental }}
  15. strategy:
  16. matrix:
  17. php: [ '7.2', '7.3', '7.4' ]
  18. composer-flags: [ '' ]
  19. experimental: [false]
  20. phpunit-flags: [ '--coverage-text' ]
  21. include:
  22. - php: '8.0'
  23. composer-flags: ''
  24. experimental: false
  25. phpunit-flags: '--no-coverage'
  26. - php: '8.1'
  27. composer-flags: '--ignore-platform-reqs'
  28. experimental: true
  29. phpunit-flags: '--no-coverage'
  30. - php: '7.2'
  31. composer-flags: '--prefer-lowest'
  32. experimental: false
  33. phpunit-flags: '--no-coverage'
  34. steps:
  35. - uses: actions/checkout@v2
  36. - run: docker-compose -f tests/docker-compose.yml up -d
  37. - uses: shivammathur/setup-php@v2
  38. with:
  39. php-version: ${{ matrix.php }}
  40. coverage: pcov
  41. tools: composer:v2
  42. - run: composer update --no-progress ${{ matrix.composer-flags }}
  43. - run: php wait_for_ftp_service.php
  44. - run: vendor/bin/phpunit tests/ftp/*Tests.php
  45. - run: vendor/bin/phpunit --exclude-group integration --coverage-text
  46. - run: composer phpstan || true
  47. if: ${{ matrix.php == '7.3' }}