-
Notifications
You must be signed in to change notification settings - Fork 9
chore: make Renovate group, automerge, and refresh dependencies #648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| }, | ||
|
Comment on lines
+34
to
+44
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can simplify these two rules into a single one by using the {
"description": "Never automerge breaking changes (major updates, or minor updates for 0.x packages).",
"matchUpdateTypes": ["breaking"],
"automerge": false
},
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Checked this one carefully and I'm not taking it - Renovate 44.48.2's own shipped types ( type UpdateType = 'major' | 'minor' | 'patch' | 'pin' | 'digest' | 'pinDigest'
| 'lockFileMaintenance' | 'lockfileUpdate' | 'rollback' | 'bump' | 'replacement';No The dangerous part is that nothing would have caught this. The schema's So had I applied this, the rule would have validated clean, silently matched nothing, and let major bumps and 0.x minors fall through to the automerge default - merged with no review. A verbose config is much cheaper than that. Keeping the two explicit rules. They're wordier but they demonstrably match what they say: sent with Claude Opus 5 |
||
| { | ||
| "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 | ||
| } | ||
| ] | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also automerges patch/minor updates to
@signalwire/docusaurus-plugin-llms-txt, but PR CI only builds; it does not run the flat-Markdown assertions at.github/workflows/deploy.yaml:64. A plugin regression that still lets Docusaurus build but stops emitting per-section Markdown,llms.txt, orllms-full.txtwould pass.github/workflows/pr-preview.yaml:65and validation, merge automatically here, then fail the GitHub Pages deployment. Please either run the same artifact verification on PRs before enabling automerge, or add a later package rule withautomerge: falsefor this plugin.