{ "$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": 10, "internalChecksFilter": "strict", "osvVulnerabilityAlerts": true, "labels": ["dependency-upgrade"], "packageRules": [ { "description": "Require approval for go and python minor version", "matchDepNames": [ "go", "python", "golang", "docker.io/golang", "docker.io/library/golang", "mcr.microsoft.com/devcontainers/go" ], "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", "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", "matchDepNames": [ "elasticsearch" ], "extends": ["schedule:quarterly"] }, { "description": "devcontainer is an optional tool used by some Forgejo contributors when working on the codebase", "matchPackagePrefixes": [ "ghcr.io/devcontainers/features/", "ghcr.io/devcontainers-contrib/features/" ], "groupName": "devcontainer packages", "extends": ["schedule:quarterly"], "automerge": true }, { "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", "versionCompatibility": "^(?[^-]+)(?-.*)?$", "versioning": "node" }, { "description": "Automerge renovate updates", "matchDatasources": ["docker"], "matchPackageNames": ["ghcr.io/visualon/renovate"], "matchUpdateTypes": ["minor", "patch", "digest"], "automerge": true, "groupName": "renovate" }, { "description": "Split minor and patch updates", "matchDepNames": [ "docker.io/golang", "docker.io/library/golang", "github.com/urfave/cli/v2", "go", "golang", "python", "swagger-ui-dist", "vue" ], "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"], "extends": ["schedule:weekly"], "prPriority": 10 }, { "description": "Update go patch with higher prio to come through rate limit", "matchDepNames": [ "go", "golang", "docker.io/golang", "docker.io/library/golang" ], "matchUpdateTypes": ["patch"], "prPriority": 10, "schedule": ["at any time"] }, { "description": "Disable actions/cascading-pr for now ", "matchDepNames": ["actions/cascading-pr"], "matchManagers": ["github-actions"], "enabled": false }, { "description": "Automerge some packages when CI succeeds", "extends": ["packages:linters", "packages:test"], "matchDepNames": [ "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", "golang.org/x/tools/cmd/deadcode", "golang.org/x/tools/gopls", "happy-dom", "markdownlint-cli", "mvdan.cc/gofumpt", "updates", "vite-string-plugin", "@vue/test-utils" ], "matchPackagePrefixes": [ "@eslint-community/", "@playwright/", "@stoplight/spectral-cli", "@stylistic/", "mcr.microsoft.com/devcontainers/" ], "automerge": true }, { "description": "Hold back on some package updates for a few days", "matchDepNames": ["monaco-editor"], "minimumReleaseAge": "30 days" }, { "description": "disallow `eslint-plugin-no-use-extend-native` v0.6.0+, requires eslint v9", "matchDepNames": ["eslint-plugin-no-use-extend-native"], "allowedVersions": "<0.6.0" } ], "customManagers": [ { "description": "Update go-version in forgejo workflows", "customType": "regex", "fileMatch": ["^.forgejo/workflows/.+\\.yml$"], "matchStrings": ["\\s+go-version: ['\"]?(?.+?)['\"]?\\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: ['\"]?(?.+?)['\"]?\\s"], "depNameTemplate": "node", "datasourceTemplate": "node-version" }, { "description": "Update deps inside Makefile", "customType": "regex", "fileMatch": ["^Makefile$"], "matchStrings": [ " \\?= (?.+?)@(?.+?) # renovate: datasource=(?.+?)(?: packageName=(?.+?))?( versioning=(?.+?))?\\s" ] } ] }