Skip to content

Commit

Permalink
update config for phpunit
Browse files Browse the repository at this point in the history
  • Loading branch information
mimmi20 committed Oct 31, 2024
1 parent 85eb34a commit 5a59f56
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 172 deletions.
190 changes: 21 additions & 169 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,177 +66,30 @@ jobs:
phpcs-options: ""

tests:
name: "UnitTests with PHPUnit"
name: "UnitTests"

needs: "analytics"

runs-on: "${{ matrix.operating-system }}"

timeout-minutes: 10

continue-on-error: false

strategy:
fail-fast: false

matrix:
operating-system:
- "ubuntu-22.04"
- "ubuntu-24.04"

php-version:
- "8.1"
- "8.2"
- "8.3"

dependencies:
- "lowest"

steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
lfs: false
persist-credentials: false

- name: "Install PHP"
uses: "shivammathur/[email protected]"
with:
php-version: "${{ matrix.php-version }}"
extensions: "none, phar, json, opcache, ctype, curl, dom, iconv, intl, mbstring, simplexml, tokenizer, xml, xmlwriter"
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0"
coverage: "none"
tools: "composer:v2"
env:
fail-fast: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
phpts: "nts"
debug: true

- name: "Update dependencies with composer"
uses: "ramsey/[email protected]"
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"

- name: "Run unit tests with phpunit/phpunit"
run: "vendor/bin/phpunit -c phpunit.xml --no-coverage --display-warnings --display-deprecations"

- name: "Enable annotations for validation errors and warnings"
uses: "korelstar/xmllint-problem-matcher@v1"

- name: "Validate phpcs.xml"
uses: "ChristophWurst/xmllint-action@v1"
with:
xml-file: "phpunit.xml"
xml-schema-file: "vendor/phpunit/phpunit/phpunit.xsd"

code-coverage:
name: "Code Coverage with PHPUnit"

needs: "analytics"

runs-on: "${{ matrix.operating-system }}"

timeout-minutes: 10

continue-on-error: false

strategy:
fail-fast: false

matrix:
operating-system:
- "ubuntu-22.04"
- "ubuntu-24.04"

php-version:
- "8.1"

dependencies:
- "lowest"

steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
lfs: false
persist-credentials: false

- name: "Install PHP"
uses: "shivammathur/[email protected]"
with:
php-version: "${{ matrix.php-version }}"
extensions: "none, phar, json, opcache, ctype, curl, dom, iconv, intl, mbstring, simplexml, tokenizer, xml, xmlwriter"
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0, xdebug.mode=coverage"
coverage: "xdebug"
tools: "composer:v2"
env:
fail-fast: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
phpts: "nts"
debug: true

- name: "Update dependencies with composer"
uses: "ramsey/[email protected]"
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"

- name: "Create cache directory for phpunit/phpunit"
run: "mkdir -p .build/coverage"

- name: "Collect code coverage with Xdebug and phpunit/phpunit"
run: "vendor/bin/phpunit -c phpunit.xml --coverage-clover=.build/coverage/clover.xml --coverage-text --coverage-xml=.build/coverage/coverage-xml --log-junit=.build/coverage/phpunit.junit.xml --display-warnings --display-deprecations"

- name: "Upload coverage to Codecov"
uses: "codecov/[email protected]"
with:
file: ".build/coverage/clover.xml"
flags: "phpunit,php-${{ matrix.php-version }},${{ matrix.operating-system }}"
verbose: false
env:
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"

- name: "Upload coverage to Codeclimate"
uses: "paambaati/[email protected]"
env:
CC_TEST_REPORTER_ID: "${{ secrets.CODECLIMATE_API_KEY }}"
with:
coverageLocations: ".build/coverage/clover.xml:clover"
debug: false

- name: "Upload coverage to Coveralls"
uses: "coverallsapp/github-action@v2"
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
flag-name: "php ${{ matrix.php-version }} on ${{ matrix.operating-system }}"
parallel: true
file: ".build/coverage/clover.xml"
format: "clover"
debug: false

- name: "Run mutation tests with infection/infection"
env:
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}
run: "vendor/bin/infection --show-mutations --only-covered --min-covered-msi=97 --min-msi=97 --coverage=.build/coverage --logger-github --no-progress -vv"

finish-code-coverage:
runs-on: "ubuntu-24.04"

needs: "code-coverage"

if: always()

steps:
- name: "Coveralls Finished"
uses: "coverallsapp/github-action@v2"
with:
parallel-finished: true
uses: "mimmi20/ci/.github/workflows/[email protected]"
with:
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter"
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0"
coverage: "xdebug"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
test-name: ""
min-msi: 97
min-covered-msi: 97
skip-phpunit: false
skip-vitest: true
skip-stryker: true
upload-codecov: true
upload-codeclimate: true
upload-coveralls: true
upload-flag: ""
secrets:
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }}
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}

# This is a meta job to avoid to have to constantly change the protection rules
# whenever we touch the matrix.
Expand All @@ -249,7 +102,6 @@ jobs:

needs:
- "tests"
- "code-coverage"

steps:
- name: Successful run
Expand Down
13 changes: 10 additions & 3 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,33 @@

<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
backupGlobals="false"
backupStaticProperties="false"
beStrictAboutChangesToGlobalState="true"
beStrictAboutCoverageMetadata="false"
beStrictAboutOutputDuringTests="true"
beStrictAboutTestsThatDoNotTestAnything="true"
displayDetailsOnTestsThatTriggerWarnings="true"
displayDetailsOnTestsThatTriggerNotices="true"
displayDetailsOnTestsThatTriggerErrors="true"
displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnSkippedTests="true"
displayDetailsOnIncompleteTests="true"
failOnEmptyTestSuite="true"
failOnIncomplete="true"
failOnRisky="true"
failOnSkipped="true"
failOnDeprecation="true"
failOnNotice="true"
failOnWarning="true"
bootstrap="vendor/autoload.php"
enforceTimeLimit="false"
executionOrder="default"
resolveDependencies="true"
colors="true"
cacheDirectory="./.reports/.coverage-cache"
columns="117"
>
<php>
<ini name="error_reporting" value="-1"/>
Expand All @@ -28,8 +37,6 @@
<ini name="assert.exception" value="On"/>
<ini name="intl.default_locale" value="de"/>
<ini name="intl.use_exceptions" value="1"/>

<env name="COLUMNS" value="100" force="true"/>
</php>

<source>
Expand Down

0 comments on commit 5a59f56

Please sign in to comment.