diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9424b94..75913fd 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -15,9 +15,8 @@ updates: groups: security-updates: applies-to: "security-updates" - update-types: - - "minor" - - "patch" + patterns: + - "*" exclude-patterns: - "friendsofphp/php-cs-fixer" - "sirbrillig/phpcs-variable-analysis" @@ -25,9 +24,8 @@ updates: - "squizlabs/php_codesniffer" version-updates: applies-to: "version-updates" - update-types: - - "minor" - - "patch" + patterns: + - "*" exclude-patterns: - "friendsofphp/php-cs-fixer" - "sirbrillig/phpcs-variable-analysis" @@ -95,14 +93,12 @@ updates: groups: security-updates: applies-to: "security-updates" - update-types: - - "minor" - - "patch" + patterns: + - "*" version-updates: applies-to: "version-updates" - update-types: - - "minor" - - "patch" + patterns: + - "*" open-pull-requests-limit: 10 @@ -155,16 +151,12 @@ updates: groups: # Specify a name for the group, which will be used in pull request titles # and branch names - version-updates: - applies-to: "version-updates" - # Define patterns to include dependencies in the group (based on - # dependency name) - patterns: - - "*" security-updates: applies-to: "security-updates" - # Define patterns to include dependencies in the group (based on - # dependency name) + patterns: + - "*" + version-updates: + applies-to: "version-updates" patterns: - "*" diff --git a/.github/renovate.json5 b/.github/renovate.json5 index d362051..39af9cb 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -7,7 +7,7 @@ ":combinePatchMinorReleases", ":disableDependencyDashboard", ":disableRateLimiting", - ":enableRenovate", + ":disableRenovate", ":enableVulnerabilityAlertsWithLabel(security)", ":gitSignOff", ":ignoreUnstable", diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 9d96a8f..760c90c 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -52,24 +52,201 @@ jobs: # 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: true -# skip-rector: true -# skip-phpmd: true +# skip-phpstan: false +# skip-rector: false +# skip-phpmd: false # # tests: -# name: "UnitTests & Code Coverage" +# name: "UnitTests with PHPUnit" # # needs: "analytics" # -# uses: "mimmi20/ci/.github/workflows/test.yml@8.1" -# 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-phpunit: false -# skip-vitest: true -# skip-stryker: true -# min-msi: 100 -# min-covered-msi: 100 -# upload-codecov: true -# upload-codeclimate: false +# 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/setup-php@2.31.1" +# 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/composer-install@3.0.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 --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/setup-php@2.31.1" +# 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/composer-install@3.0.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 --display-warnings --display-deprecations" +# +# - name: "Upload coverage to Codecov" +# uses: "codecov/codecov-action@v4.5.0" +# 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/codeclimate-action@v8.0.0" +# 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 diff --git a/.github/workflows/lint-workflow-files.yml b/.github/workflows/lint-workflow-files.yml index 5cd80b6..b6e2bc7 100644 --- a/.github/workflows/lint-workflow-files.yml +++ b/.github/workflows/lint-workflow-files.yml @@ -21,10 +21,10 @@ jobs: - name: "install libimagequant-dev" run: "sudo apt-get install libimagequant-dev -y" - - name: "Use Node.js 20" + - name: "Use Node.js 22" uses: "actions/setup-node@v4" with: - node-version: "20" + node-version: "22" - name: "Check workflow files" uses: "raven-actions/actionlint@v2"