diff --git a/.github/renovate.json b/.github/renovate.json index ba35890..b0720e8 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -2,15 +2,30 @@ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:base"], - "branchPrefix": "deps/", "automerge": true, + "branchPrefix": "deps/", "dependencyDashboard": true, "dependencyDashboardApproval": true, + "dependencyDashboardTitle": "🚀 Dependency Updates", + "dependencyDashboardOSVVulnerabilitySummary": "none", + "npm": { "minimumReleaseAge": "3 days" }, "postUpdateOptions": ["yarnDedupeFewer"], "rangeStrategy": "bump", "rebaseWhen": "conflicted", "semanticCommits": "disabled", + "packageRules": [ + { + "matchManagers": ["github-actions"], + "commitMessageTopic": "GitHub Action `{{depName}}`", + "additionalBranchPrefix": "gha/", + "pinDigests": true + }, + { + "matchManagers": ["docker-compose", "dockerfile"], + "commitMessageTopic": "Docker tag `{{depName}}`", + "additionalBranchPrefix": "docker/" + }, { "matchManagers": ["npm"], "commitMessageTopic": "npm package `{{depName}}`", @@ -27,6 +42,169 @@ "commitMessageTopic": "Rust crate `{{depName}}`", "additionalBranchPrefix": "rs/", "reviewers": ["team:Rust"] + }, + { + "matchDepTypes": ["devDependencies"], + "matchPackagePatterns": ["^jest-", "jest$", "^prettier", "prettier$"], + "excludePackageNames": ["prettier-plugin-sql"], + }, + { + "groupName": "Block Protocol npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": [ + "^@blockprotocol/", + "^block-", + "^blockprotocol$", + "^create-block-app$", + "^mock-block-dock$" + ] + }, + { + "groupName": "ESLint npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": [ + "^@types/eslint", + "^@typescript-eslint/", + "^eslint-", + "eslint$" + ], + }, + { + "groupName": "GraphQL npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^@graphql/", "^graphql-", "graphql$"] + }, + { + "groupName": "Jest npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^jest-", "jest$"], + }, + { + "groupName": "OpenTelemetry npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^@opentelemetry/"] + }, + { + "groupName": "Playwright npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^@playwright/", "^playwright-", "playwright$"], + }, + { + "groupName": "Prettier npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^prettier", "prettier$"], + "excludePackageNames": ["prettier-plugin-sql"], + }, + { + "groupName": "ProseMirror npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^prosemirror", "prosemirror$"] + }, + { + "groupName": "Sentry npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^@sentry/"] + }, + { + "groupName": "Signia npm packages", + "matchManagers": ["npm"], + "matchPackagePatterns": ["^@signia/"] + }, + { + "groupName": "Pydantic Python packages", + "matchManagers": ["poetry"], + "matchPackagePatterns": ["^pydantic"] + }, + { + "matchManagers": ["poetry"], + "matchPackagePatterns": ["mypy", "ruff", "black"], + }, + { + "matchManagers": ["regex"], + "matchDepNames": ["rust"], + "matchDepPatterns": ["(R|r)ust(-.+)?"], + "separateMajorMinor": false, + "fetchReleaseNotes": false, + "commitMessageExtra": "to nightly-{{newVersion}}", + "additionalBranchPrefix": "rs/", + "reviewers": ["team:Rust"], + }, + { + "matchManagers": ["regex"], + "matchDepNames": ["rust"], + "matchDepPatterns": ["(R|r)ust(-.+)?"], + "matchPaths": ["libs/**"], + "groupName": "Rust libraries toolchains", + "commitMessageTopic": "Rust toolchains for `/libs`" + }, + { + "matchManagers": ["regex"], + "matchDepNames": ["rust"], + "matchDepPatterns": ["(R|r)ust(-.+)?"], + "matchPaths": ["apps/**"], + "groupName": "Rust applications toolchains", + "commitMessageTopic": "Rust toolchains for `/apps`" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^clap[-_]?"], + "groupName": "`clap` Rust crates" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^criterion[-_]?"], + "groupName": "`criterion` Rust crates", + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^futures[-_]?"], + "groupName": "`futures` Rust crates" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": [ + "^opentelemetry[-_]?", + "^tracing-opentelemetry$" + ], + "groupName": "`opentelemetry` Rust crates" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^postgres[-_]?", "^tokio-postgres[-_]?"], + "groupName": "`postgres` Rust crates" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^serde[-_]?"], + "groupName": "`serde` Rust crates" + }, + { + "matchManagers": ["cargo"], + "matchPackagePatterns": ["^tracing[-_]?"], + "excludePackageNames": ["tracing-opentelemetry"], + "groupName": "`tracing` Rust crates" + } + ], + "regexManagers": [ + { + "fileMatch": ["(^|/)rust-toolchain\\.toml?$"], + "matchStrings": [ + "channel\\s*=\\s*\"nightly-(?\\d+-\\d+-\\d+)\"" + ], + "depNameTemplate": "rust", + "packageNameTemplate": "rust-lang/rust-analyzer", + "datasourceTemplate": "github-releases", + "versioningTemplate": "regex:(?\\d+)-(?\\d+)-(?\\d+)" + }, + { + "fileMatch": ["(^|/)README\\.md$", "(^|/)src/lib\\.rs$"], + "matchStrings": [ + "https:\\/\\/img\\.shields\\.io\\/static\\/v1\\?label=Rust\\&message=\\d+\\.\\d+\\.\\d+\\/nightly-(?\\d+-\\d+-\\d+)\\&color=blue" + ], + "depNameTemplate": "rust", + "packageNameTemplate": "rust-lang/rust-analyzer", + "datasourceTemplate": "github-releases", + "versioningTemplate": "regex:(?\\d+)-(?\\d+)-(?\\d+)" } ] }