Tests #128
This file contains hidden or 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
| name: Tests | |
| on: | |
| push: | |
| pull_request: | |
| branches: [ '*.x' ] | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '0 8 * * *' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| phpunit: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: [ '8.1', '8.2', '8.3', '8.4', '8.5' ] | |
| phpunit: [ '10.5', '11.5', '12.5', '13.0', '13.1', '13.2' ] | |
| dependencies: [ 'highest', 'lowest' ] | |
| exclude: | |
| - php: '8.1' | |
| phpunit: '11.5' | |
| - php: '8.1' | |
| phpunit: '12.5' | |
| - php: '8.2' | |
| phpunit: '12.5' | |
| - php: '8.1' | |
| phpunit: '13.0' | |
| - php: '8.1' | |
| phpunit: '13.1' | |
| - php: '8.1' | |
| phpunit: '13.2' | |
| - php: '8.2' | |
| phpunit: '13.0' | |
| - php: '8.2' | |
| phpunit: '13.1' | |
| - php: '8.2' | |
| phpunit: '13.2' | |
| - php: '8.3' | |
| phpunit: '13.0' | |
| - php: '8.3' | |
| phpunit: '13.1' | |
| - php: '8.3' | |
| phpunit: '13.2' | |
| name: PHP ${{ matrix.php }} & PHPUnit ${{ matrix.phpunit }}${{ matrix.dependencies == 'lowest' && ' (lowest)' || '' }} Test | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Setup PHP | |
| uses: shivammathur/setup-php@v2 | |
| with: | |
| php-version: ${{ matrix.php }} | |
| ini-values: zend.exception_ignore_args=false | |
| - name: Require PHPUnit Version | |
| run: composer require --dev phpunit/phpunit:${{ matrix.phpunit }}.* --no-update | |
| - name: Adjust PHPUnit 10 Configuration | |
| if: matrix.phpunit == '10.5' | |
| run: | | |
| sed -i 's/failOnPhpunitDeprecation="true"//g' phpunit.dist.xml phpunit-functional.dist.xml | |
| sed -i 's/failOnPhpunitNotice="true"//g' phpunit.dist.xml phpunit-functional.dist.xml | |
| - name: Adjust PHPUnit 11 Configuration | |
| if: matrix.phpunit == '11.5' | |
| run: sed -i 's/failOnPhpunitNotice="true"//g' phpunit.dist.xml phpunit-functional.dist.xml | |
| - name: Install Dependencies | |
| uses: ramsey/composer-install@v4 | |
| with: | |
| composer-options: '--prefer-dist' | |
| dependency-versions: ${{ matrix.dependencies }} | |
| - name: Run Unit Tests | |
| run: vendor/bin/phpunit --log-junit=junit.xml --coverage-text --coverage-clover=coverage.xml | |
| - name: Run Functional Tests | |
| run: vendor/bin/phpunit -c phpunit-functional.dist.xml --log-junit=junit-functional.xml | |
| - name: Publish Test Report | |
| uses: mikepenz/action-junit-report@v6 | |
| if: always() | |
| with: | |
| annotate_only: true | |
| fail_on_failure: true | |
| require_tests: true | |
| report_paths: ./junit*.xml | |
| - name: Upload Test Coverage | |
| if: ${{ success() }} | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| files: coverage.xml | |
| flags: ${{ matrix.php }} | |
| token: ${{ secrets.CODECOV_TOKEN }} |