forgejo/renovate.json

143 lines
4.1 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:best-practices",
":approveMajorUpdates",
":maintainLockFilesWeekly",
"group:postcss",
"group:linters",
"schedule:daily",
"schedule:automergeDaily"
],
"ignorePresets": [
":semanticPrefixFixDepsChoreOthers",
"docker:pinDigests",
"helpers:pinGitHubActionDigests"
],
"semanticCommits": "disabled",
"automergeStrategy": "merge-commit",
"postUpdateOptions": ["gomodTidy", "gomodUpdateImportPaths", "npmDedupe"],
"prConcurrentLimit": 5,
"internalChecksFilter": "strict",
"packageRules": [
{
"description": "Require approval for go and python minor version",
"matchDepNames": [
"go",
"python",
"golang",
"docker.io/golang",
"docker.io/library/golang"
],
"matchUpdateTypes": ["minor"],
"dependencyDashboardApproval": true
},
{
"description": "Require dashboard approval for some deps",
"matchDepNames": [
"bitnami/minio",
"github.com/go-ap/activitypub",
"github.com/nektos/act",
"gitea.com/gitea/act"
],
"dependencyDashboardApproval": true
},
{
"description": "Schedule some deps less frequently",
"matchDepNames": ["github.com/google/pprof"],
"extends": ["schedule:quarterly"]
},
{
"description": "Group golang packages",
"matchDepNames": [
"go",
"golang",
"docker.io/golang",
"docker.io/library/golang"
],
"groupName": "golang packages"
},
{
"description": "Group nodejs packages",
"matchDepNames": ["node", "docker.io/node", "docker.io/library/node"],
"groupName": "nodejs packages"
},
{
"description": "Automerge renovate updates",
"matchDatasources": ["docker"],
"matchPackageNames": ["ghcr.io/visualon/renovate"],
"matchUpdateTypes": ["minor", "patch", "digest"],
"automerge": true
},
{
"description": "Split minor and patch updates",
"matchDepNames": [
"vue",
"github.com/urfave/cli/v2",
"swagger-ui-dist"
],
"separateMinorPatch": true
},
{
"description": "Automerge patch updates",
"matchDepNames": [
"vue",
"github.com/urfave/cli/v2",
"swagger-ui-dist"
],
"matchUpdateTypes": ["patch"],
"automerge": true
},
{
"description": "Update renovate with higher prio to come through rate limit",
"matchDatasources": ["docker"],
"matchDepNames": ["ghcr.io/visualon/renovate"],
"prPriority": 10
},
{
"description": "Disable actions/cascading-pr for now <https://github.com/renovatebot/renovate/issues/28120>",
"matchDepNames": ["actions/cascading-pr"],
"matchManagers": ["github-actions"],
"enabled": false
},
{
"description": "Automerge some packages when ci succeeds",
"extends": ["packages:linters"],
"matchDepNames": ["vitest"],
"automerge": true
},
{
"description": "Hold back on some package updates for a few days",
"matchDepNames": ["monaco-editor"],
"minimumReleaseAge": "30 days"
}
],
"customManagers": [
{
"description": "Update go-version in forgejo workflows",
"customType": "regex",
"fileMatch": ["^.forgejo/workflows/.+\\.yml$"],
"matchStrings": ["\\s+go-version: ['\"]?(?<currentValue>.+?)['\"]?\\s"],
"depNameTemplate": "go",
"datasourceTemplate": "golang-version",
"versioningTemplate": "go-mod-directive"
},
{
"description": "Update node-version in forgejo workflows",
"customType": "regex",
"fileMatch": ["^.forgejo/workflows/.+\\.yml$"],
"matchStrings": ["\\s+node-version: ['\"]?(?<currentValue>.+?)['\"]?\\s"],
"depNameTemplate": "node",
"datasourceTemplate": "node-version"
},
{
"description": "Update deps inside Makefile",
"customType": "regex",
"fileMatch": ["^Makefile$"],
"matchStrings": [
" \\?= (?<depName>.+?)@(?<currentValue>.+?) # renovate: datasource=(?<datasource>.+?)\\s"
]
}
]
}