-
Notifications
You must be signed in to change notification settings - Fork 320
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
Reduce maintenance via Renovate #2970
Comments
Do you have experience with
Or would this be about the bom only (which is also restricted by the Java version) |
I would recommend starting with a simple, lightweight configuration using mostly default and well-tested update targets; and, if possible and needed, dealing with non-pre-supported updates through xtext-specific "renovate regex managers." This would initially target the pom.xml dependencies and the github workflows descriptors, opening a PR for each update (I'd cap the maximum number of PRs to something like 25 not to overwhelm the CI). |
the problem there is i almost never see a change change does not go accross all the things i mentioned. |
example change upcoming e.g. |
It is a bit hard to tell, as most of the maven-related configuration is built-in. I applied it to an Xtext project and let it create a dependency dashboard here: Protelis/Protelis-Parser#72 I think it will, by default, propose an update to the XML files alone. I'm unsure about the target and manifest files, but I am pretty confident it won't touch any java file nor NOTICE.md. Additionally, I believe that there's a lot of repetitions in that update. In these cases, much like application/library code, I modify the build to have a single point of truth for the version of some library (in Gradle I use the catalog, I don't know if there's anything akin for maven, but even a custom solution would be better than manually performing the update). So let me amend my strategic proposal:
|
do you have an example how many false positive this will do. => would like see a real world update. 2nd question so you propose to take the bom update as a start and then do the orbit / tp update manually after it. @szarnekow @LorenzoBettini any thoughts |
The bot will propose updates as it cannot know that newer versions won't run on Java 11. In these cases, we do close the PRs, and/or we manually exclude them. World update wise: I use it extensively. This is probably the largest project where I'm using it, https://github.com/AlchemistSimulator/Alchemist, if you look at the closed PRs you'll see that most of them are updates proposed by the bot that get automatically merged once the CI goes green. For the latter question: in prospect, the way I see it is that for each dependency there is a single source of truth (you write your dependency once, in a single file, and then that value is propagated to the rest of the infrastructure), so updating that would update both bom and orbit at once. |
yes but i have no clue how to the dry thing without very very extensive scripting |
Unfortunately, I agree. There are two main possibilities that I see:
|
I'm not part of the maintenance team, but it looks like part of the maintenance burden is dealing with dependency updates. On other projects, I am using Renovate to have updates pull-requested to me. With proper CI in place, I found that it is helpful with:
For instance, I realized thank to @HannesWell that I can circumvent #2686 in several of my use cases by simply forcing an update version of ASM. With Renovate in place, such update would have been pulled in automatically.
If the board believes this can be a way to go, I can help by providing a tailored configuration for the bot.
The text was updated successfully, but these errors were encountered: