Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

composer(deps-dev): update phpstan/phpstan requirement from ^1.10.23 to ^1.10.26 #951

composer(deps-dev): update phpstan/phpstan requirement from ^1.10.23 to ^1.10.26

composer(deps-dev): update phpstan/phpstan requirement from ^1.10.23 to ^1.10.26 #951

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
name: "Continuous Integration"
on:
- pull_request
- push
permissions:
contents: read
concurrency:
group: "${{ github.event_name }}-${{ github.workflow }}-${{ github.head_ref || github.run_id }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
ci:
name: "Run CI"
uses: "mimmi20/mimmi20/.github/workflows/ci.yml@main"
with:
extensions: "ctype, curl, json, opcache, dom, mbstring, 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"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
composer-outdated-option: ""
skip-phpstan: false
skip-phplint: false
skip-rector: false
skip-phpmd: false
skip-psalm: true
secrets:
envPAT: "${{ secrets.GITHUB_TOKEN }}"
tests:
name: "UnitTests with PHPUnit"
needs: "ci"
runs-on: "${{ matrix.operating-system }}"
timeout-minutes: 10
continue-on-error: false
strategy:
fail-fast: false
matrix:
operating-system:
- "ubuntu-20.04"
- "ubuntu-22.04"
php-version:
- "8.1"
- "8.2"
dependencies:
- "highest"
- "lowest"
ts:
- "ts"
- "nts"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
lfs: false
persist-credentials: false
- name: "Install PHP"
uses: "shivammathur/setup-php@2.25.4"
with:
php-version: "${{ matrix.php-version }}"
extensions: "json, opcache, dom, mbstring, intl, simplexml, tokenizer, xml, xmlwriter, curl"
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: "${{ matrix.ts }}"
- name: "Update dependencies with composer"
uses: "ramsey/composer-install@2.2.0"
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"
code-coverage:
name: "Code Coverage with PHPUnit"
needs: "tests"
runs-on: "${{ matrix.operating-system }}"
timeout-minutes: 10
continue-on-error: false
strategy:
fail-fast: false
matrix:
operating-system:
- "ubuntu-20.04"
- "ubuntu-22.04"
php-version:
- "8.1"
- "8.2"
dependencies:
- "highest"
- "lowest"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
lfs: false
persist-credentials: false
- name: "Install PHP"
uses: "shivammathur/setup-php@2.25.4"
with:
php-version: "${{ matrix.php-version }}"
extensions: "json, opcache, dom, mbstring, intl, simplexml, tokenizer, xml, xmlwriter, curl"
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: "ts"
- name: "Update dependencies with composer"
uses: "ramsey/composer-install@2.2.0"
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"
- name: "Upload coverage to Codecov"
uses: "codecov/codecov-action@v3.1.4"
with:
file: ".build/coverage/clover.xml"
flags: "phpunit,php-${{ matrix.php-version }},${{ matrix.operating-system }}"
verbose: 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=95 --min-msi=95 --coverage=.build/coverage --logger-github --no-progress -vv"
# This is a meta job to avoid to have to constantly change the protection rules
# whenever we touch the matrix.
tests-status:
name: "Unit & Integration Tests Status"
runs-on: "ubuntu-22.04"
if: always()
needs:
- "ci"
- "tests"
- "code-coverage"
steps:
- name: Successful run
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: Failing run
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1