diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 00000000..acbe4c74 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,147 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "dependencyDashboard": true, + "extends": [ + "config:best-practices", + "group:githubArtifactActions", + ":separatePatchReleases", + ":enablePreCommit" + ], + "ignoreDeps": [ + "tektronix/python-package-ci-cd" + ], + "packageRules": [ + { + "additionalBranchPrefix": "{{#if (equals manager 'github-actions')}}gh-actions{{else}}{{categories}}{{/if}}-deps/", + "description": "Set the branch prefix and minimum release age for all updates", + "matchPackageNames": [ + "*" + ], + "minimumReleaseAge": "5 days" + }, + { + "addLabels": [ + "docker", + "dependencies" + ], + "commitMessageSuffix": " in all dependant actions", + "description": "Add docker and dependencies labels to Docker dependency updates", + "matchManagers": [ + "dockerfile" + ], + "semanticCommitScope": "docker-deps" + }, + { + "addLabels": [ + "gh-actions", + "dependencies" + ], + "description": "Add gh-actions and dependencies labels to GitHub Action dependency updates", + "matchManagers": [ + "github-actions" + ], + "semanticCommitScope": "gh-actions-deps" + }, + { + "addLabels": [ + "python", + "dependencies" + ], + "description": "Add python and dependencies labels to Python dependency updates", + "matchManagers": [ + "poetry", + "pip_requirements" + ], + "semanticCommitScope": "python-deps" + }, + { + "addLabels": [ + "pre-commit", + "dependencies" + ], + "additionalBranchPrefix": "automerge/", + "automerge": true, + "description": "Add pre-commit and dependencies labels to pre-commit dependency updates", + "matchManagers": [ + "pre-commit" + ], + "semanticCommitScope": "pre-commit-deps" + }, + { + "commitMessageSuffix": " in all dependant reusable workflows", + "description": "Add commit suffix for reusable workflows", + "matchFileNames": [ + "/_reusable-.*\\.ya?ml/" + ], + "matchManagers": [ + "github-actions" + ] + }, + { + "commitMessageSuffix": "{{#unless isGroup}} in dev workflows{{/unless}}", + "description": "Group together all dev workflow dependency updates", + "groupName": "dev workflow dependencies", + "matchFileNames": [ + "!/_reusable-.*\\.ya?ml/" + ], + "matchManagers": [ + "github-actions" + ] + }, + { + "additionalBranchPrefix": "automerge/", + "automerge": true, + "description": "Automatically merge all patch and digest updates", + "matchUpdateTypes": [ + "digest", + "patch" + ] + }, + { + "additionalBranchPrefix": "automerge/", + "automerge": true, + "description": "Allow automatically merging minor updates of certain packages", + "matchPackageNames": [ + "certifi", + "trove-classifiers", + "idna" + ], + "matchUpdateTypes": [ + "minor" + ] + }, + { + "description": "Group together all pydantic dependencies", + "groupName": "pydantic dependencies", + "matchPackageNames": [ + "/^pydantic/" + ] + }, + { + "additionalBranchPrefix": "{{#if (equals manager 'github-actions')}}gh-actions{{else}}{{categories}}{{/if}}-deps/", + "automerge": false, + "description": "Group together all python-semantic-release dependencies", + "groupName": "python-semantic-release dependencies", + "matchPackageNames": [ + "/^python-semantic-release/" + ] + }, + { + "commitMessageSuffix": "{{#if (equals parentDir '')}} for {{#each depTypes}}{{replace '-' '/' this}}{{#unless @last}} and {{/unless}}{{/each}}{{else}} in all dependant actions {{/if}}", + "description": "Add commit suffix for the dependency group (or parent directory)", + "matchFileNames": [ + "pyproject.toml", + "**/requirements.txt" + ], + "matchManagers": [ + "poetry", + "pip_requirements" + ], + "matchPackageNames": [ + "*" + ] + } + ], + "platformCommit": "enabled", + "prHourlyLimit": 5 +}