-
Notifications
You must be signed in to change notification settings - Fork 14
ISSUE-368: Renovate Drupal presets #831
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?
ISSUE-368: Renovate Drupal presets #831
Conversation
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.
Hello @beto-aveiga, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
This pull request adds a Renovate preset for Drupal 10. It includes a new JSON5 configuration file (renovate-presets/drupal-10.json5
) containing Renovate settings tailored for Drupal 10 projects. Additionally, the README.md
file is updated to provide instructions on how to use and extend these presets.
Highlights
- New Drupal 10 Preset: A new Renovate preset specifically for Drupal 10 projects has been added, including configurations for composer dependencies, package rules, and grouping of related modules.
- README Update: The README file has been updated with instructions on how to use and extend the new Drupal 10 Renovate preset in your projects.
Changelog
- README.md
- Added a section explaining how to use and extend the Drupal 10 Renovate preset.
- Provided a code snippet demonstrating how to extend the preset in a Renovate configuration.
- Added a newline character at the end of the file.
- renovate-presets/drupal-10.json5
- Created a new JSON5 file containing Renovate configuration settings for Drupal 10 projects.
- Configured base branches, extends, labels, and package rules for Drupal 10 dependency updates.
- Defined package rules for composer dependencies, major/minor/patch updates, Drupal core updates, jQuery packages, location modules, Drupal Migrate modules, Metatag modules, and File media modules.
- Set platform to GitHub, concurrent PR limit to 3, range strategy to bump, and rebase when auto.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
A bot's gentle hand,
Updates flow across the land,
Drupal's kept so fresh.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
This pull request adds a Renovate preset for Drupal 10, which is a great addition to the project. The changes look good overall, but I have a few suggestions for improvement.
Merge Readiness
The code changes are generally well-done. I am unable to directly approve the pull request, and users should have others review and approve this code before merging. I would recommend addressing the comments before merging.
renovate-presets/drupal-10.json5
Outdated
@@ -0,0 +1,90 @@ | |||
{ | |||
"$schema": "https://docs.renovatebot.com/renovate-schema.json", | |||
"baseBranches": ["renovate-updates"], |
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.
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.
Done!
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.
@deviantintegral were you expecting our preset to live in Drainpipe or was there a registry we could submit it to so more people were aware of it?
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 had been thinking we'd contribute a Drupal preset upstream to Renovate itself.
I don't think we should set "baseBranches": ["renovate-updates"],
by default, as that's a project level decision. It also doesn't play well with automerging dev dependencies, or automerging in general.
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.
@beto-aveiga Next step is to commit a very basic version of this to Renovate that only addresses things that ship with Drupal core. Evaluate what is in "group:symfony"
as an example of how we should structure the Drupal specific preset.
Avoid setting automerge. We may want to do that on our projects, but we shouldn't impose that on other projects using Drainpipe.
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.
There's a lot more here than just setting up grouping for Drupal! Let's start with contributing package groupings for Drupal core only upstream. Otherwise, there's a lot here that feels either like project specific decisions or not something you'd want to group (to be able to detect which module update broke an automated test).
renovate-presets/drupal-10.json5
Outdated
@@ -0,0 +1,90 @@ | |||
{ | |||
"$schema": "https://docs.renovatebot.com/renovate-schema.json", | |||
"baseBranches": ["renovate-updates"], |
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 had been thinking we'd contribute a Drupal preset upstream to Renovate itself.
I don't think we should set "baseBranches": ["renovate-updates"],
by default, as that's a project level decision. It also doesn't play well with automerging dev dependencies, or automerging in general.
…pal presets, avoid definition of renovate-updates as a base branch
renovate-presets/drupal-10.json5
Outdated
@@ -0,0 +1,90 @@ | |||
{ | |||
"$schema": "https://docs.renovatebot.com/renovate-schema.json", | |||
"baseBranches": ["renovate-updates"], |
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.
@beto-aveiga Next step is to commit a very basic version of this to Renovate that only addresses things that ship with Drupal core. Evaluate what is in "group:symfony"
as an example of how we should structure the Drupal specific preset.
Avoid setting automerge. We may want to do that on our projects, but we shouldn't impose that on other projects using Drainpipe.
…upport-generating-renovate-json-configs-edit-new-issue
I wonder if we should have a Lullabot renovate preset, apart from this preset, to be more opinionated and aligned with what we think are the most common best practices we do when building Drupal. |
…upport-generating-renovate-json-configs-edit-new-issue
@@ -0,0 +1,23 @@ | |||
{ |
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 not have a version specific one since we're doing the bare minimum configuration for Drupal best practices that we'll push up to Renovate defaults.
resolves: #368
Adds a preset for Drupal 10.