diff --git a/.github/CODEOWNERS.yml b/.github/CODEOWNERS.yml new file mode 100644 index 00000000..645b085e --- /dev/null +++ b/.github/CODEOWNERS.yml @@ -0,0 +1 @@ +* @martin-georgiev diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1e8ccc2d..dfb465a1 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,11 +1,7 @@ version: 2 updates: -- package-ecosystem: composer - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 10 - ignore: - - dependency-name: qossmic/deptrac-shim - versions: - - 0.12.0 + - package-ecosystem: composer + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 00000000..8712614e --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,70 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base", + ":enableVulnerabilityAlerts", + ":semanticCommitsDisabled", + ":prHourlyLimitNone", + ":prImmediately" + ], + + "automerge": true, + "automergeStrategy": "squash", + "automergeType": "pr", + "branchPrefix": "renovate/", + "lockFileMaintenance": { + "enabled": true, + "schedule": "before 11am every day" + }, + "platformAutomerge": true, + "rangeStrategy": "in-range-only", + "rebaseWhen": "conflicted", + "recreateWhen": "never", + + "packageRules": [ + { + "matchPackagePatterns": ["*"], + "enabled": false + }, + { + "matchManagers": ["composer"], + "matchDepTypes": ["require"], + "enabled": true, + "groupName": "Composer runtime dependencies", + "groupSlug": "composer-runtime" + }, + { + "matchManagers": ["composer"], + "matchDepTypes": ["require-dev"], + "enabled": true, + "groupName": "Composer dev dependencies", + "groupSlug": "composer-dev" + }, + { + "matchManagers": ["composer"], + "matchDepTypes": ["require-dev"], + "enabled": true, + "groupName": "Composer QA tooling dependencies", + "groupSlug": "composer-qa-tooling", + "rangeStrategy": "bump", + "matchPackageNames": [ + "friendsofphp/php-cs-fixer", + "ekino/phpstan-banned-code", + "qossmic/deptrac-shim", + "php-coveralls/php-coveralls" + ], + "matchPackagePatterns": [ + "phpstan/*", + "phpunit/*", + "rector/*" + ] + }, + { + "matchManagers": ["github-actions"], + "enabled": true, + "groupName": "GitHub Actions dependencies", + "groupSlug": "github-actions", + "rangeStrategy": "bump" + } + ] +} diff --git a/.github/workflows/auto-request-review.yml b/.github/workflows/auto-request-review.yml new file mode 100644 index 00000000..f2dc614e --- /dev/null +++ b/.github/workflows/auto-request-review.yml @@ -0,0 +1,18 @@ +name: Auto Request Review + +on: + pull_request: + types: + - opened + - ready_for_review + - reopened + +jobs: + auto-request-review: + name: Auto Request Review + runs-on: ubuntu-latest + steps: + - name: Request reviews based on configuration + uses: necojackarc/auto-request-review@v0.12.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/ci/phpstan/config.neon b/ci/phpstan/config.neon index 7c541390..41bd40b5 100644 --- a/ci/phpstan/config.neon +++ b/ci/phpstan/config.neon @@ -1,4 +1,5 @@ includes: + - ../../vendor/ekino/phpstan-banned-code/extension.neon - ../../vendor/phpstan/phpstan-phpunit/extension.neon parameters: diff --git a/composer.json b/composer.json index ba8d22d1..898862dd 100644 --- a/composer.json +++ b/composer.json @@ -44,6 +44,7 @@ }, "require-dev": { "doctrine/orm": "~2.5||~3.0", + "ekino/phpstan-banned-code": "^1.0", "friendsofphp/php-cs-fixer": "^3.13", "php-coveralls/php-coveralls": "^2.5", "phpstan/phpstan": "^1.9",