execute tests also on php 8.2 #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
jobs: | |
before: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Code-Climate | |
uses: amancevice/setup-code-climate@v1 | |
with: | |
cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }} | |
- name: Prepare CodeClimate | |
run: cc-test-reporter before-build | |
unit-tests: | |
needs: [before] | |
strategy: | |
matrix: | |
php-version: ["7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2"] | |
name: PHP Unit Tests on PHP ${{ matrix.php-version }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
- name: Setup Code-Climate | |
uses: amancevice/setup-code-climate@v1 | |
with: | |
cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }} | |
- name: Get composer cache directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: composer-cache-${{ matrix.php-version }} | |
- name: Install dependencies | |
run: composer install --no-interaction --ansi | |
- name: Execute tests | |
run: | | |
php -dzend_extension=xdebug.so -dxdebug.mode=coverage vendor/bin/phpunit \ | |
-c phpunit.xml \ | |
--coverage-clover=coverage/clover.xml \ | |
--coverage-text \ | |
--color=always | |
- name: Format Coverage | |
run: cc-test-reporter format-coverage -t clover -o coverage/cc-${{ matrix.php-version }}.json coverage/clover.xml | |
- name: Store Coverage Result | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage-results | |
path: coverage/ | |
after: | |
needs: [unit-tests] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Restore Coverage Result | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage-results | |
path: coverage/ | |
- name: Setup Code-Climate | |
uses: amancevice/setup-code-climate@v1 | |
with: | |
cc_test_reporter_id: ${{ secrets.CC_TEST_REPORTER_ID }} | |
- name: Report Coverage | |
run: | | |
cc-test-reporter sum-coverage coverage/cc-*.json -p 6 -o coverage/cc-total.json | |
cc-test-reporter upload-coverage -i coverage/cc-total.json |