diff options
Diffstat (limited to '')
-rw-r--r-- | renovate.json | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..cfd9c39 --- /dev/null +++ b/renovate.json @@ -0,0 +1,195 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["local>forgejo/renovate-config"], + "ignorePresets": [ + ":semanticPrefixFixDepsChoreOthers", + "docker:pinDigests", + "helpers:pinGitHubActionDigests" + ], + "baseBranches": [ + "$default", + "/^v[7-9]\\.\\d+/forgejo$/", + "/^v\\d\\d+\\.\\d+\\/forgejo$/" + ], + "postUpdateOptions": ["gomodTidy", "gomodUpdateImportPaths", "npmDedupe"], + "prConcurrentLimit": 10, + "osvVulnerabilityAlerts": true, + "labels": ["dependency-upgrade"], + "packageRules": [ + { + "description": "Require approval for python minor version", + "matchPackageNames": ["containerbase/python-prebuild", "python"], + "matchUpdateTypes": ["minor"], + "dependencyDashboardApproval": true + }, + { + "description": "Require dashboard approval for some deps", + "matchPackageNames": [ + "docker.io/bitnami/minio", + "github.com/go-ap/activitypub", + "github.com/nektos/act", + "gitea.com/gitea/act" + ], + "dependencyDashboardApproval": true + }, + { + "description": "Schedule some deps less frequently", + "matchPackageNames": [ + "code.forgejo.org/f3/gof3/v3", + "github.com/google/pprof", + "github.com/golangci/misspell/cmd/misspell" + ], + "extends": ["schedule:quarterly"] + }, + { + "description": "elasticsearch CI images are published about once a month and do not use semantic versioning or short tags", + "matchPackageNames": ["elasticsearch"], + "extends": ["schedule:quarterly"] + }, + { + "description": "devcontainer is an optional tool used by some Forgejo contributors when working on the codebase", + "groupName": "devcontainer packages", + "extends": ["schedule:quarterly"], + "automerge": true, + "matchPackageNames": [ + "ghcr.io/devcontainers/features/**", + "ghcr.io/devcontainers-contrib/features/**" + ] + }, + { + "description": "Group nodejs packages", + "matchPackageNames": [ + "code.forgejo.org/oci/node", + "docker.io/library/node", + "docker.io/node", + "node" + ], + "groupName": "nodejs packages", + "versionCompatibility": "^(?<version>[^-]+)(?<compatibility>-.*)?$", + "versioning": "node" + }, + { + "description": "x/tools/* are used in the CI only and upgraded together", + "matchUpdateTypes": ["minor", "patch", "digest"], + "automerge": true, + "groupName": "x/tools", + "matchPackageNames": ["golang.org/x/tools{/,}**"] + }, + { + "description": "Group postcss minor and patch updates", + "extends": ["packages:postcss"], + "matchUpdateTypes": ["minor", "patch"], + "groupName": "postcss" + }, + { + "description": "Split minor and patch updates", + "matchPackageNames": [ + "containerbase/python-prebuild", + "github.com/urfave/cli/v2", + "python", + "swagger-ui-dist", + "vue" + ], + "separateMinorPatch": true + }, + { + "description": "Automerge patch updates", + "matchPackageNames": [ + "vue", + "github.com/urfave/cli/v2", + "swagger-ui-dist" + ], + "matchUpdateTypes": ["patch"], + "automerge": true + }, + { + "description": "Automerge renovate updates", + "matchDatasources": ["docker"], + "matchPackageNames": ["code.forgejo.org/forgejo-contrib/renovate"], + "matchUpdateTypes": ["minor", "patch", "digest"], + "automerge": true + }, + { + "description": "Add reviewer and additional labels to renovate PRs", + "matchDatasources": ["docker"], + "matchPackageNames": ["code.forgejo.org/forgejo-contrib/renovate"], + "reviewers": ["viceice"], + "addLabels": ["forgejo/ci", "test/not-needed"] + }, + { + "description": "Update renovate with higher prio to come through rate limit", + "matchDatasources": ["docker"], + "matchPackageNames": ["code.forgejo.org/forgejo-contrib/renovate"], + "extends": ["schedule:weekly"], + "prPriority": 10, + "groupName": "renovate" + }, + { + "description": "Disable renovate self-updates for release branches", + "matchBaseBranches": ["^v\\d+\\.\\d+\\/forgejo$"], + "matchDatasources": ["docker"], + "matchPackageNames": [ + "code.forgejo.org/forgejo-contrib/renovate", + "ghcr.io/visualon/renovate" + ], + "enabled": false + }, + { + "description": "Automerge some packages when CI succeeds", + "extends": ["packages:linters", "packages:test"], + "matchPackageNames": [ + "@eslint-community/**", + "@playwright/**", + "@stoplight/spectral-cli", + "@stylistic/**", + "djlint", + "github.com/editorconfig-checker/editorconfig-checker/v2/cmd/editorconfig-checker", + "github.com/golangci/golangci-lint/cmd/golangci-lint", + "github.com/go-testfixtures/testfixtures", + "github.com/PuerkitoBio/goquery", + "happy-dom", + "markdownlint-cli", + "mcr.microsoft.com/devcontainers/**", + "mvdan.cc/gofumpt", + "updates", + "vite-string-plugin", + "@vue/test-utils" + ], + "automerge": true + }, + { + "description": "Hold back on some package updates for a few days", + "matchPackageNames": ["monaco-editor"], + "minimumReleaseAge": "30 days" + }, + { + "description": "disallow `eslint-plugin-no-use-extend-native` v0.6.0+, requires eslint v9", + "matchPackageNames": ["eslint-plugin-no-use-extend-native"], + "allowedVersions": "<0.6.0" + }, + { + "description": "Require approval for stable branches (must be last rule to override all others)", + "matchBaseBranches": ["/^v\\d+\\.\\d+\\/forgejo$/"], + "dependencyDashboardApproval": true, + "schedule": ["at any time"] + } + ], + "customManagers": [ + { + "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>.+?)(?: packageName=(?<packageName>.+?))?( versioning=(?<versioning>.+?))?\\s" + ] + } + ] +} |