-
Notifications
You must be signed in to change notification settings - Fork 27
feat(renovate): update renovate to use shared renovate-config #3213
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
base: main
Are you sure you want to change the base?
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| "lockFileMaintenance": { | ||
| "enabled": true | ||
| }, | ||
| "labels": ["🤖 Type: Dependencies"], |
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.
Why do we remove this?
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.
It's in the shared config now. https://github.com/commercetools/renovate-config/blob/700c5dcf53d675f8cd0779a6e0e15fc22d187758/default.json#L28
Questioning this a little as appKit has slightly different "stop labels" and I'm not sure if there are workflows that trigger off the labels. It would be nice to have label consistency across repos, but not sure if this is a can of worms we don't want to open right now.
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.
I'd see the goal as dependency update cadence as the goal. Not expanding it to label consistency. One topic at a time :)
| "extends": [ | ||
| "github>commercetools/renovate-config:composite/component-library" | ||
| ], | ||
| "rebaseWhen": "never", |
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.
The shared config has rebaseWhen: "conflicted". I notice AppKit also has rebaseWhen: "never". Not sure if this is common and we should change shared config or if we want this behavior to change. Conflicted doesn't seem like a bad option, but not sure why this was set to never originally.
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.
Let's keep this as a repo decision then for now.
Migrate to Shared commercetools Renovate Configuration
Summary
This PR migrates our Renovate configuration from a fully custom setup to the standardized commercetools shared configuration, specifically using the
composite/component-librarypreset designed for UI component libraries.What Changed
Before
After
github>commercetools/renovate-config:composite/component-libraryBenefits
1. Automatic Intelligent Grouping
The shared config provides automatic grouping for 15+ dependency ecosystems:
2. Better PR Management
3. Security Best Practices
security:minimumReleaseAgeNpm: Waits for npm packages to be stable before updating (reduces risk of broken packages)4. Improved Base Configuration
config:basetoconfig:best-practices(superset with better defaults)widenrange strategy for better compatibility5. Additional Labels
🙏 Status: code review needed(new)🤖 Type: Dependencies(existing)🖐 Status: on hold / postponedlabel6. Future-Proof
Preserved Customizations
All repository-specific requirements have been maintained:
1. Rebase Strategy
Overrides the shared config's
"conflicted"default to preserve team preference.2. SVGR Package Grouping
{ "matchSourceUrls": ["https://github.com/gregberge/svgr{/,}**"], "groupName": "all svgr packages" }Groups all
@svgr/*packages together (used for icon generation).3. Stylelint Package Grouping
{ "matchPackageNames": ["stylelint", "stylelint-config-standard", "/^stylelint-/"], "groupName": "all stylelint packages" }The shared
libraries/lintingpreset only covers ESLint/Prettier, so we maintain Stylelint grouping.4. Version Constraints (6 packages)
All compatibility constraints are preserved:
html-loader:<2.0.0markdown-loader:<8.0.0@percy/puppeteer:<=2.0.0react-textarea-autosize:<8.4.1react-from-dom:<=0.6.2node-fetch:<3.0.05. Ignored Dependencies
Slate packages remain ignored due to known compatibility issues.
Configuration Removed (Now Provided by Shared Config)
The following were removed as they're now inherited from the shared configuration:
"config:base"→ Upgraded to"config:best-practices"":preserveSemverRanges"→ In default.json"schedule:weekly"→ In default.json"separateMajorMinor": true→ In default.json"lockFileMaintenance": { "enabled": true }→ In default.json"labels": ["🤖 Type: Dependencies"]→ In default.json (plus adds code review label)Expected Behavior Changes
What Will Change
"never"to maintain current workflowWhat Won't Change
Testing & Validation
After merging, please verify:
🙏 Status: code review neededand🤖 Type: Dependencies)Related
Notes
The
composite/component-librarypreset includesplatforms/pnpm, but since ui-kit uses Yarn 3, these settings are harmlessly ignored by Renovate.