ci.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. name: CI
  2. on: [push]
  3. jobs:
  4. oldest:
  5. name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
  6. runs-on: ${{ matrix.operating-system }}
  7. strategy:
  8. matrix:
  9. operating-system: ['ubuntu-18.04']
  10. php-versions: ['5.3']
  11. phpunit-versions: ['5.7.27']
  12. steps:
  13. - name: Checkout
  14. uses: actions/checkout@v2
  15. - name: Setup PHP
  16. uses: shivammathur/setup-php@v2
  17. with:
  18. php-version: ${{ matrix.php-versions }}
  19. extensions: mbstring, intl
  20. ini-values: post_max_size=256M, max_execution_time=180
  21. tools: psalm, phpunit:${{ matrix.phpunit-versions }}
  22. - name: Install dependencies
  23. run: composer self-update --1; composer install
  24. - name: PHPUnit tests
  25. uses: php-actions/phpunit@v2
  26. with:
  27. memory_limit: 256M
  28. old:
  29. name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
  30. runs-on: ${{ matrix.operating-system }}
  31. strategy:
  32. matrix:
  33. operating-system: ['ubuntu-18.04']
  34. php-versions: ['5.4', '5.5', '5.6', '7.0']
  35. phpunit-versions: ['6.5.14']
  36. steps:
  37. - name: Checkout
  38. uses: actions/checkout@v2
  39. - name: Setup PHP
  40. uses: shivammathur/setup-php@v2
  41. with:
  42. php-version: ${{ matrix.php-versions }}
  43. extensions: mbstring, intl
  44. ini-values: post_max_size=256M, max_execution_time=180
  45. tools: psalm, phpunit:${{ matrix.phpunit-versions }}
  46. - name: Install dependencies
  47. run: composer self-update --1; composer require vimeo/psalm; composer install
  48. - name: PHPUnit tests
  49. uses: php-actions/phpunit@v2
  50. with:
  51. memory_limit: 256M
  52. moderate:
  53. name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
  54. runs-on: ${{ matrix.operating-system }}
  55. strategy:
  56. matrix:
  57. operating-system: ['ubuntu-latest']
  58. php-versions: ['7.1', '7.2', '7.3']
  59. phpunit-versions: ['latest']
  60. steps:
  61. - name: Checkout
  62. uses: actions/checkout@v2
  63. - name: Setup PHP
  64. uses: shivammathur/setup-php@v2
  65. with:
  66. php-version: ${{ matrix.php-versions }}
  67. extensions: mbstring, intl, sodium
  68. ini-values: post_max_size=256M, max_execution_time=180
  69. tools: psalm, phpunit:${{ matrix.phpunit-versions }}
  70. - name: Install dependencies
  71. run: composer require vimeo/psalm; composer install
  72. - name: Modernize dependencies
  73. run: composer require --dev "phpunit/phpunit:>=4"
  74. - name: PHPUnit tests
  75. uses: php-actions/phpunit@v2
  76. timeout-minutes: 30
  77. with:
  78. memory_limit: 256M
  79. - name: Static Analysis
  80. run: vendor/bin/psalm
  81. modern:
  82. name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
  83. runs-on: ${{ matrix.operating-system }}
  84. strategy:
  85. matrix:
  86. operating-system: ['ubuntu-latest']
  87. php-versions: ['7.4', '8.0']
  88. phpunit-versions: ['latest']
  89. steps:
  90. - name: Checkout
  91. uses: actions/checkout@v2
  92. - name: Setup PHP
  93. uses: shivammathur/setup-php@v2
  94. with:
  95. php-version: ${{ matrix.php-versions }}
  96. extensions: mbstring, intl, sodium
  97. ini-values: post_max_size=256M, max_execution_time=180
  98. tools: psalm, phpunit:${{ matrix.phpunit-versions }}
  99. - name: Install dependencies
  100. run: composer require vimeo/psalm; composer install
  101. - name: PHPUnit tests
  102. uses: php-actions/phpunit@v2
  103. timeout-minutes: 30
  104. with:
  105. memory_limit: 256M
  106. - name: Static Analysis
  107. run: vendor/bin/psalm