Skip to content

update workflows and configs #2575

update workflows and configs

update workflows and configs #2575

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
# file-version: 1.0
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:
validate:
name: "Validate Project"
uses: "mimmi20/ci/.github/workflows/[email protected]"
with:
extensions: "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"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
skip-validate-composer: false
skip-phplint: true
skip-check-composer: true
dependency-analyser-options: "--ignore-dev-in-prod-deps --ignore-unknown-classes"
install:
name: "Install Project"
needs: "validate"
uses: "mimmi20/ci/.github/workflows/[email protected]"
with:
extensions: "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"
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
skip-php-install: false
skip-npm-install: true
# analytics:
# name: "Project Analysis"
#
# needs: "install"
#
# uses: "mimmi20/ci/.github/workflows/[email protected]"
# with:
# extensions: "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"
# composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v"
# skip-phpstan: false
# skip-rector: false
# skip-phpmd: false
#
# tests:
# name: "UnitTests 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"
# - "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=100 --min-msi=100 --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
#
# # 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-24.04"
#
# if: always()
#
# needs:
# - "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