├── README.md ├── automerge-docker-digest.json ├── automerge-github-actions.json ├── commit-message.json ├── custom-managers.json5 ├── default.json └── pr-labels.json /README.md: -------------------------------------------------------------------------------- 1 | # renovate-config 2 | Renovate configuration presets 3 | -------------------------------------------------------------------------------- /automerge-docker-digest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "packageRules": [ 4 | { 5 | "matchDatasources": ["docker"], 6 | "automerge": true, 7 | "automergeType": "branch", 8 | "matchUpdateTypes": ["digest"], 9 | "ignoreTests": true 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /automerge-github-actions.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "packageRules": [ 4 | { 5 | "matchManagers": ["github-actions"], 6 | "automerge": true, 7 | "automergeType": "branch", 8 | "matchUpdateTypes": ["minor", "patch"], 9 | "minimumReleaseAge": "3 days", 10 | "ignoreTests": true 11 | }, 12 | { 13 | "description": "Automerge trusted actions sooner", 14 | "matchManagers": ["github-actions"], 15 | "matchPackageNames": [ 16 | "/^bjw-s-labs\//", 17 | "/^actions\//" 18 | ], 19 | "automerge": true, 20 | "automergeType": "branch", 21 | "matchUpdateTypes": ["minor", "patch", "digest"], 22 | "minimumReleaseAge": "1 minute", 23 | "ignoreTests": true 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /commit-message.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "packageRules": [ 4 | { 5 | "matchUpdateTypes": ["major"], 6 | "semanticCommitType": "feat", 7 | "commitMessageTopic": "{{depName}}", 8 | "commitMessagePrefix": "{{semanticCommitType}}({{semanticCommitScope}})!:", 9 | "commitMessageExtra": "( {{currentVersion}} → {{newVersion}} )", 10 | "commitMessageSuffix": "" 11 | }, 12 | { 13 | "matchUpdateTypes": ["minor"], 14 | "semanticCommitType": "feat", 15 | "commitMessageTopic": "{{depName}}", 16 | "commitMessageExtra": "( {{currentVersion}} → {{newVersion}} )", 17 | "commitMessageSuffix": "" 18 | }, 19 | { 20 | "matchUpdateTypes": ["patch"], 21 | "semanticCommitType": "fix", 22 | "commitMessageTopic": "{{depName}}", 23 | "commitMessageExtra": "( {{currentVersion}} → {{newVersion}} )", 24 | "commitMessageSuffix": "" 25 | }, 26 | { 27 | "matchUpdateTypes": ["digest"], 28 | "semanticCommitType": "chore", 29 | "commitMessageTopic": "{{depName}}", 30 | "commitMessageExtra": "( {{currentDigestShort}} → {{newDigestShort}} )", 31 | "commitMessageSuffix": "" 32 | }, 33 | { 34 | "matchDatasources": ["docker"], 35 | "semanticCommitScope": "container" 36 | }, 37 | { 38 | "matchDatasources": ["helm"], 39 | "semanticCommitScope": "helm" 40 | }, 41 | { 42 | "matchManagers": ["github-actions"], 43 | "semanticCommitType": "ci", 44 | "semanticCommitScope": "github-action" 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /custom-managers.json5: -------------------------------------------------------------------------------- 1 | { 2 | $schema: "https://docs.renovatebot.com/renovate-schema.json", 3 | customManagers: [ 4 | { 5 | customType: "regex", 6 | description: "Process various dependencies in YAML files", 7 | fileMatch: ["\\.ya?ml(\\.j2)?$"], 8 | matchStrings: [ 9 | // Inline 10 | '\\S+: "?(?[^"\\s]+)"? # ?renovate: depName=(?\\S+)( datasource=(?\\S+))?( versioning=(?\\S+))?( extractVersion=(?\\S+))?( packageName=(?\\S+))?', 11 | // Newline 12 | '(?m:^[ \\t]*?# ?renovate: depName=(?\\S+)( datasource=(?\\S+))?( versioning=(?\\S+))?( extractVersion=(?\\S+))?( packageName=(?\\S+))?\\n[ \\t ]*?\\S+: "?(?[^" ]+?)"?$)', 13 | ], 14 | datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}", 15 | versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}", 16 | extractVersionTemplate: "{{#if extractVersion}}{{{extractVersion}}}{{else}}^(?.*)${{/if}}", 17 | packageNameTemplate: "{{#if packageName}}{{{packageName}}}{{else}}{{{depName}}}{{/if}}", 18 | }, 19 | { 20 | customType: "regex", 21 | description: "Process GitHub download dependencies in YAML files", 22 | fileMatch: ["\\.ya?ml(\\.j2)?$"], 23 | matchStrings: [ 24 | // https://github.com/rancher/system-upgrade-controller/releases/download/v0.13.2/crd.yaml 25 | "https:\\/\\/github.com\\/(?\\S+?\\/\\S+?)\\/releases\\/download\\/(?(v|\\d)\\S+?)\\/\\S+", 26 | // https://raw.githubusercontent.com/external-secrets/external-secrets/v0.9.11/docs/snippets/dashboard.json 27 | "https:\\/\\/raw.githubusercontent.com\\/(?\\S+?\\/\\S+?)\\/(?(v|\\d)\\S+?)\\/\\S+", 28 | ], 29 | datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}", 30 | versioningTemplate: "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}", 31 | extractVersionTemplate: "{{#if extractVersion}}{{{extractVersion}}}{{else}}^(?.*)${{/if}}", 32 | }, 33 | ], 34 | } 35 | -------------------------------------------------------------------------------- /default.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended", 5 | "docker:enableMajor", 6 | "helpers:pinGitHubActionDigests", 7 | "github>bjw-s/renovate-config:custom-managers.json5", 8 | "github>bjw-s/renovate-config:automerge-github-actions", 9 | "github>bjw-s/renovate-config:commit-message", 10 | "github>bjw-s/renovate-config:pr-labels", 11 | ":dependencyDashboard", 12 | ":disableRateLimiting", 13 | ":enablePreCommit" 14 | ], 15 | "timezone": "Europe/Amsterdam", 16 | "dependencyDashboardTitle": "Renovate Dashboard", 17 | "suppressNotifications": [ 18 | "prEditedNotification", 19 | "prIgnoreNotification" 20 | ], 21 | "commitBodyTable": true, 22 | "rebaseWhen": "auto", 23 | "platformCommit": "enabled" 24 | } 25 | -------------------------------------------------------------------------------- /pr-labels.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "packageRules": [ 4 | { 5 | "matchUpdateTypes": ["major"], 6 | "labels": ["type/major"] 7 | }, 8 | { 9 | "matchUpdateTypes": ["minor"], 10 | "labels": ["type/minor"] 11 | }, 12 | { 13 | "matchUpdateTypes": ["patch"], 14 | "labels": ["type/patch"] 15 | }, 16 | { 17 | "matchUpdateTypes": ["digest"], 18 | "labels": ["type/digest"] 19 | }, 20 | { 21 | "matchDatasources": ["helm"], 22 | "addLabels": ["renovate/helm"] 23 | }, 24 | { 25 | "matchDatasources": ["docker"], 26 | "addLabels": ["renovate/container"] 27 | }, 28 | { 29 | "matchDatasources": ["galaxy", "galaxy-collection"], 30 | "addLabels": ["renovate/ansible"] 31 | }, 32 | { 33 | "matchDatasources": ["terraform-provider"], 34 | "addLabels": ["renovate/terraform"] 35 | }, 36 | { 37 | "matchDatasources": ["github-releases", "github-tags"], 38 | "addLabels": ["renovate/github-release"] 39 | }, 40 | { 41 | "matchManagers": ["github-actions"], 42 | "addLabels": ["renovate/github-action"] 43 | } 44 | ] 45 | } 46 | --------------------------------------------------------------------------------