static.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. name: Static Analysis
  2. on:
  3. push:
  4. pull_request:
  5. jobs:
  6. phpstan_src:
  7. name: PHPStan Source
  8. runs-on: ubuntu-22.04
  9. steps:
  10. - name: Checkout code
  11. uses: actions/checkout@v3
  12. - name: Setup PHP
  13. uses: shivammathur/setup-php@v2
  14. with:
  15. php-version: 8.2
  16. tools: composer:v2
  17. coverage: none
  18. - name: Install Dependencies
  19. uses: nick-invision/retry@v2
  20. with:
  21. timeout_minutes: 5
  22. max_attempts: 5
  23. command: composer update --no-interaction --no-progress
  24. - name: Install PHPStan
  25. uses: nick-invision/retry@v2
  26. with:
  27. timeout_minutes: 5
  28. max_attempts: 5
  29. command: composer bin phpstan update --no-interaction --no-progress
  30. - name: Execute PHPStan
  31. run: vendor/bin/phpstan analyze src -c phpstan.src.neon.dist --no-progress
  32. phpstan_tests:
  33. name: PHPStan Tests
  34. runs-on: ubuntu-22.04
  35. steps:
  36. - name: Checkout code
  37. uses: actions/checkout@v3
  38. - name: Setup PHP
  39. uses: shivammathur/setup-php@v2
  40. with:
  41. php-version: 8.2
  42. tools: composer:v2
  43. coverage: none
  44. - name: Install Dependencies
  45. uses: nick-invision/retry@v2
  46. with:
  47. timeout_minutes: 5
  48. max_attempts: 5
  49. command: composer update --no-interaction --no-progress
  50. - name: Install PHPStan
  51. uses: nick-invision/retry@v2
  52. with:
  53. timeout_minutes: 5
  54. max_attempts: 5
  55. command: composer bin phpstan update --no-interaction --no-progress
  56. - name: Execute PHPStan
  57. run: vendor/bin/phpstan analyze tests -c phpstan.tests.neon.dist --no-progress
  58. psalm:
  59. name: Psalm
  60. runs-on: ubuntu-22.04
  61. steps:
  62. - name: Checkout code
  63. uses: actions/checkout@v3
  64. - name: Setup PHP
  65. uses: shivammathur/setup-php@v2
  66. with:
  67. php-version: 8.2
  68. tools: composer:v2
  69. coverage: none
  70. - name: Install Dependencies
  71. uses: nick-invision/retry@v2
  72. with:
  73. timeout_minutes: 5
  74. max_attempts: 5
  75. command: composer update --no-interaction --no-progress
  76. - name: Install Psalm
  77. uses: nick-invision/retry@v2
  78. with:
  79. timeout_minutes: 5
  80. max_attempts: 5
  81. command: composer bin psalm update --no-interaction --no-progress
  82. - name: Execute Psalm
  83. run: vendor/bin/psalm.phar --no-progress --output-format=github