grafana / plugin-tools

Create Grafana plugins with ease.
https://grafana.com/developers/plugin-tools/
Apache License 2.0
55 stars 27 forks source link

Configure Renovate #936

Closed renovate[bot] closed 1 week ago

renovate[bot] commented 1 month ago

Mend Renovate

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


Detected Package Files

Configuration Summary

Based on the default config's presets, Renovate will:

🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to renovate.json in this branch. Renovate will update the Pull Request description the next time it runs.


What to Expect

With your current configuration, Renovate will create 1 Pull Request:

Update grafana dependencies - Schedule: ["at any time"] - Branch name: `renovate/all-grafana` - Merge into: `main` - Upgrade [@grafana/data](https://togithub.com/grafana/grafana) to `11.0.0` - Upgrade [@grafana/e2e](https://togithub.com/grafana/grafana) to `11.0.0` - Upgrade [@grafana/e2e-selectors](https://togithub.com/grafana/grafana) to `11.0.0` - Upgrade [@grafana/runtime](https://togithub.com/grafana/grafana) to `11.0.0` - Upgrade [@grafana/scenes](https://togithub.com/grafana/scenes) to `5.3.0` - Upgrade [@grafana/ui](https://togithub.com/grafana/grafana) to `11.0.0` - Upgrade grafana/grafana-enterprise to `11.1.0`

❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


This PR has been generated by Mend Renovate. View repository job log here.

CLAassistant commented 1 month ago

CLA assistant check
All committers have signed the CLA.

github-actions[bot] commented 1 month ago

Hello! 👋 This repository uses Auto for releasing packages using PR labels.

✨ This PR can be merged. It will not be considered when calculating future versions of the npm packages and will not appear in the changelogs.

sunker commented 1 month ago

What is this change? In the changes introduced in this commit, I'm using the Renovate regex manager to keep dependencies in the create-plugin template files up to date. You can see PR description for details on what to expect after merging this change.

Template updates described For packages/create-plugin/templates/common/_package.json, Renovate will raise a new PR as soon as there's a new release of any of the grafana/* packages. If there's a new release of the monorepo packages such as data, runtime or ui, updates will be combined in one PR.

When there's a new release of the grafana-enterprise image, the version will be updated in dependencies.grafanaDependency (packages/create-plugin/templates/**/plugin.json) and grafana_version arg in the packages/create-plugin/templates/common/docker-compose.yaml will be updated.

This will replace the need for having a grafanaVersion variable in the templates, as Renovate will manage updates for us.

Why? The Grafana releases are thoroughly tested, so the way I see it there's no reason for plugin developers to not target the most recent version when developing their plugins. Doing this manually is time consuming and it can easily be forgotten, so it would be good if this was automated. I think it would makes sense to enable automerging for these kind of PRs once we've seen them run successfully for some time.

How does this related to the plugin-examples repo?

We previously decided that we should use the create-plugin update cmd to keep the example plugins up to date. IMO, it would be great if we could schedule a job that runs the update cmd and raises a PR if there's file diff for all the examples once every hour or so.

sunker commented 1 month ago

Think this PR is ready for another round of review. What's been changed:

sunker commented 2 weeks ago

I'm pretty late to all the conversation in this PR but if I'm understanding this correctly if this PR were to be merged right now, renovate will (in a short space of time) create a PR which bumps all the NPM dependencies and the docker compose to 11.0.x but keeps minimum plugin dependency at 10.4.0. Doesn't that mean that the dev env won't cover 10.4.0 out the box once the first renovate bot PR is merged?

Mostly answered in comments above (I hope), but yes this is true. Think that's how it's has to be though - the dev env cannot cover all versions in the range of supported grafana versions. So I think it makes sense if the dev env put focus on the most recent version. Keep in mind the scaffolding comes with a workflow that runs e2e tests against all Grafana versions in the range.