summaryrefslogtreecommitdiffstats
path: root/renovate.json
diff options
context:
space:
mode:
Diffstat (limited to 'renovate.json')
-rw-r--r--renovate.json195
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"
+ ]
+ }
+ ]
+}