From a3b298b3d91690003f475d87be7f0ca07e3253b1 Mon Sep 17 00:00:00 2001 From: Ethan Arrowood Date: Thu, 27 Aug 2026 14:51:37 -0600 Subject: [PATCH] chore: make Renovate group, automerge, and refresh dependencies Renovate has not executed on this repo since 2026-01-29 (stale Dependency Dashboard, zero renovate/* branches, 7 months of drift). The root cause is outside the repo -- the config file has exactly one commit in its history and validates clean -- but the config would not have delivered good dependency flow even while running, so fix it for when service resumes. - Group all ten @docusaurus/* packages into one PR; they publish in lockstep and any solo bump breaks the build. - Group react + react-dom. - Automerge patch/minor devDependencies once the branch is fully green; hold 0.x minors, all majors, and Docusaurus minors for review. - Gate the TypeScript 5 -> 7 major behind Dependency Dashboard approval. - Enable monthly lockFileMaintenance, the only way transitive deps move now that all direct ranges are pinned exact. - Raise prConcurrentLimit 2 -> 10 and prHourlyLimit 2 -> 4 to clear the backlog. - platformAutomerge: false so Renovate waits on the full build, which is not one of main's required status checks. - Keep minimumReleaseAge and internalChecksFilter as-is. Co-Authored-By: Claude Opus 5 --- renovate.json | 67 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index 1c97d4ecc..7fa1e7e6d 100644 --- a/renovate.json +++ b/renovate.json @@ -1,8 +1,71 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended"], - "prConcurrentLimit": 2, + "timezone": "America/New_York", + "schedule": ["before 9am on Monday"], + "automergeSchedule": ["at any time"], + "semanticCommits": "enabled", + "prConcurrentLimit": 10, + "prHourlyLimit": 4, "minimumReleaseAge": "7 days", "internalChecksFilter": "strict", - "reviewersFromCodeOwners": true + "reviewersFromCodeOwners": true, + "automergeType": "pr", + "platformAutomerge": false, + "lockFileMaintenance": { + "enabled": true, + "schedule": ["before 9am on the first day of the month"], + "automerge": true + }, + "packageRules": [ + { + "description": "Pin GitHub Actions to commit digests, matching the existing convention in .github/workflows.", + "groupName": "pin digests", + "groupSlug": "all-digests", + "matchDepTypes": ["action"], + "pinDigests": true + }, + { + "description": "Automerge patch and minor devDependency updates. Every dependency in this repo is a devDependency, and Renovate PRs run the full Docusaurus build (Deploy PR Preview) plus tsc and prettier --check, so a green branch is strong evidence.", + "matchDepTypes": ["devDependencies"], + "matchUpdateTypes": ["minor", "patch"], + "automerge": true + }, + { + "description": "For 0.x releases a minor bump is a breaking change under semver, so require review. Currently affects @easyops-cn/docusaurus-search-local and @harperfast/code-guidelines.", + "matchCurrentVersion": "/^0\\./", + "matchUpdateTypes": ["minor"], + "automerge": false + }, + { + "description": "Never automerge a major update.", + "matchUpdateTypes": ["major"], + "automerge": false + }, + { + "description": "All ten @docusaurus/* packages publish in lockstep from facebook/docusaurus, including tsconfig, types and module-type-aliases. Any solo bump breaks the build, so they must move as one PR.", + "groupName": "docusaurus monorepo", + "groupSlug": "docusaurus", + "matchPackageNames": ["@docusaurus/**"] + }, + { + "description": "A Docusaurus minor can change rendering without failing the build, so a human should review the PR preview deployment. Docusaurus patch updates still automerge.", + "matchPackageNames": ["@docusaurus/**"], + "matchUpdateTypes": ["minor"], + "automerge": false + }, + { + "description": "react and react-dom must always move together.", + "groupName": "react", + "groupSlug": "react", + "matchPackageNames": ["react", "react-dom"] + }, + { + "description": "TypeScript 7 is a full compiler rewrite and @docusaurus/tsconfig 3.x is not validated against it. Require an explicit tick on the Dependency Dashboard before a PR is even opened, so the upgrade happens when someone is ready to drive it.", + "matchPackageNames": ["typescript"], + "matchUpdateTypes": ["major"], + "automerge": false, + "dependencyDashboardApproval": true + } + ] }