Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update config for phpunit #159

Merged
merged 2 commits into from
Nov 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 4 additions & 104 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,10 @@ updates:
directory: "/"

schedule:
interval: "weekly"
day: "friday"
interval: "daily"
time: "04:00"
timezone: "Europe/Berlin"

groups:
security-updates:
applies-to: "security-updates"
patterns:
- "*"
exclude-patterns:
- "friendsofphp/php-cs-fixer"
- "sirbrillig/phpcs-variable-analysis"
- "slevomat/coding-standard"
- "squizlabs/php_codesniffer"
version-updates:
applies-to: "version-updates"
patterns:
- "*"
exclude-patterns:
- "friendsofphp/php-cs-fixer"
- "sirbrillig/phpcs-variable-analysis"
- "slevomat/coding-standard"
- "squizlabs/php_codesniffer"

open-pull-requests-limit: 10

reviewers:
Expand All @@ -54,9 +33,6 @@ updates:
include: "scope"
prefix: "composer"

#allow:
# - '*'

ignore:
- dependency-name: "browscap/browscap"
- dependency-name: "elasticsearch/elasticsearch"
Expand All @@ -83,92 +59,17 @@ updates:
- dependency-name: "symfony/http-foundation"
- dependency-name: "symfony/yaml"

# Disable rebasing for all pull requests
rebase-strategy: "disabled"

- package-ecosystem: "npm"

directory: "/"

schedule:
interval: "weekly"
day: "friday"
time: "04:00"
timezone: "Europe/Berlin"

groups:
security-updates:
applies-to: "security-updates"
patterns:
- "*"
version-updates:
applies-to: "version-updates"
patterns:
- "*"

open-pull-requests-limit: 10

reviewers:
- "mimmi20"

assignees:
- "mimmi20"

labels:
- "dependencies"

versioning-strategy: "increase"

target-branch: "master"

commit-message:
include: "scope"
prefix: "npm"

ignore:
- dependency-name: "@localnerve/imagemin-gifsicle"
- dependency-name: "@localnerve/imagemin-pngquant"
- dependency-name: "@node-minify/core"
- dependency-name: "@node-minify/no-compress"
- dependency-name: "@node-minify/terser"
- dependency-name: "@typescript-eslint/eslint-plugin"
- dependency-name: "@typescript-eslint/parser"
- dependency-name: "@typescript-eslint/typescript-estree"
- dependency-name: "@vheemstra/vite-plugin-imagemin"
- dependency-name: "@vitest/coverage-istanbul"
- dependency-name: "@vitest/ui"
- dependency-name: "cssnano"
- dependency-name: "cssnano-preset-default"
- dependency-name: "imagemin"
- dependency-name: "postcss-load-config"
- dependency-name: "supports-color"
- dependency-name: "vitest"

# Disable rebasing for all pull requests
rebase-strategy: "disabled"
rebase-strategy: "auto"

- package-ecosystem: "github-actions"

directory: "/"

schedule:
interval: "weekly"
day: "friday"
interval: "daily"
time: "04:00"
timezone: "Europe/Berlin"

groups:
# Specify a name for the group, which will be used in pull request titles
# and branch names
security-updates:
applies-to: "security-updates"
patterns:
- "*"
version-updates:
applies-to: "version-updates"
patterns:
- "*"

open-pull-requests-limit: 10

reviewers:
Expand All @@ -188,5 +89,4 @@ updates:
ignore:
- dependency-name: "mimmi20/ci"

# Disable rebasing for all pull requests
rebase-strategy: "disabled"
rebase-strategy: "auto"
19 changes: 19 additions & 0 deletions .github/workflows/auto-approve.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: "Auto approve"

on:
- pull_request_target

jobs:
auto-approve:
runs-on: "ubuntu-24.04"

if: ${{ github.actor == 'dependabot[bot]' }}

permissions:
pull-requests: write

steps:
- uses: "fastify/github-action-merge-dependabot@v3"
with:
approve-only: true
github-token: ${{ secrets.GITHUB_TOKEN }}
21 changes: 21 additions & 0 deletions .github/workflows/auto-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Auto merge"

on:
- pull_request_target

jobs:
automerge:
runs-on: "ubuntu-24.04"

if: ${{ github.actor == 'dependabot[bot]' }}

permissions:
pull-requests: write
contents: write

steps:
- uses: "fastify/github-action-merge-dependabot@v3"
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
use-github-auto-merge: true
merge-method: "merge"
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=74 --min-msi=74 --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: 74
min-covered-msi: 74
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
Loading
Loading