acceptance.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. name: Acceptance
  2. on: [push, pull_request]
  3. jobs:
  4. test:
  5. strategy:
  6. matrix:
  7. php-versions: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4"]
  8. runs-on: ubuntu-latest
  9. name: Unit test
  10. steps:
  11. - name: Checkout
  12. uses: actions/checkout@v4
  13. - name: Set up PHP
  14. uses: shivammathur/setup-php@v2
  15. with:
  16. php-version: ${{ matrix.php-versions }}
  17. coverage: none
  18. env:
  19. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  20. - name: Get composer cache directory
  21. id: composer-cache
  22. run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
  23. - name: Cache dependencies
  24. uses: actions/cache@v4
  25. with:
  26. path: ${{ steps.composer-cache.outputs.dir }}
  27. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  28. restore-keys: ${{ runner.os }}-composer-
  29. - name: Install dependencies
  30. run: composer install --prefer-dist
  31. - name: Test
  32. run: vendor/bin/phpunit
  33. cs-check:
  34. runs-on: ubuntu-latest
  35. name: Code standard
  36. steps:
  37. - name: Checkout
  38. uses: actions/checkout@v4
  39. - name: Set up PHP
  40. uses: shivammathur/setup-php@v2
  41. with:
  42. php-version: "8.3"
  43. coverage: none
  44. env:
  45. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  46. - name: Get composer cache directory
  47. id: composer-cache
  48. run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
  49. - name: Cache dependencies
  50. uses: actions/cache@v4
  51. with:
  52. path: ${{ steps.composer-cache.outputs.dir }}
  53. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  54. restore-keys: ${{ runner.os }}-composer-
  55. - name: Install dependencies
  56. run: composer install --prefer-dist
  57. - name: Code standard
  58. run: vendor/bin/phpcs --standard=PSR1,PSR12 --encoding=UTF-8 --report=full --colors src tests
  59. coverage:
  60. runs-on: ubuntu-latest
  61. name: Code coverage
  62. steps:
  63. - name: Checkout
  64. uses: actions/checkout@v4
  65. - name: Set up PHP
  66. uses: shivammathur/setup-php@v2
  67. with:
  68. php-version: "8.3"
  69. coverage: xdebug
  70. env:
  71. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  72. - name: Get composer cache directory
  73. id: composer-cache
  74. run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
  75. - name: Cache dependencies
  76. uses: actions/cache@v4
  77. with:
  78. path: ${{ steps.composer-cache.outputs.dir }}
  79. key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
  80. restore-keys: ${{ runner.os }}-composer-
  81. - name: Install dependencies
  82. run: composer install --prefer-dist
  83. - name: Code coverage build
  84. run: XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover build/logs/clover.xml
  85. - name: Code coverage upload
  86. env:
  87. COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  88. run: vendor/bin/php-coveralls -v