Downgraded pest to work with infection and added infection to the pip… #21
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
name: CQ | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- '*' | |
permissions: | |
contents: read | |
jobs: | |
code-quality: | |
name: Coding standards, code quality and static code analysis | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: ['8.1', '8.2', '8.3'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
coverage: xdebug | |
extensions: dom | |
- name: Validate composer.json and composer.lock | |
run: composer validate --strict | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Run the linter | |
run: composer lint | |
- name: Run PHPStan | |
if: success() || failure() | |
run: composer phpstan -- --error-format=github > phpstan.json | |
- name: Run psalm | |
if: success() || failure() | |
run: composer psalm --output-format=github | |
integration-tests: | |
name: Test suite and coverage | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-version: ['8.1', '8.2', '8.3'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
coverage: xdebug | |
extensions: dom | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Run test suite | |
run: | | |
if [[ ${{ matrix.php-version }} == '8.1' ]]; then | |
composer coverage --min=100 --coverage-clover=coverage.xml | |
else | |
composer pest | |
fi | |
- name: Run infection mutation testing | |
if: success() || failure() | |
run: | |
composer infection --min-msi=90 --min-covered-msi=95 --threads=4 | |