> we don't usually upgrade them in a release line unless

I'm still not that experienced with Java/Maven, but the reasoning is that we 
want to avoid dependency version conflicts for our users, right?

In that case, it's specific to Java I'd say. At least for .NET, I would expect 
a library to use recent versions of its dependencies.

Since we add new features in our "patch versions" (we aren't doing semantic 
versioning so those aren't actually patch versions), I think it's also OK in 
general to update dependencies in those versions, at least to a higher patch 
version, but I think a higher minor version should also be OK if we also add 
features ourselves in those versions.

> We also typically have JIRAs for version bumps of dependencies - not always 
> plugins - so if we continued with that those would be need to be created and 
> CHANGELOG entries added manually after a merge i guess.

Do we need a JIRA + CHANGELOG entry for all dependency updates or only for 
important ones?
If we need them, then the bot at least notifies us of an available update and 
provides a PR for the update itself. We can then still create a JIRA issue + 
CHANGELOG entry manually if necessary.
The notification should also include fixes for security problems in which case 
the bot sometimes also includes this information directly in the PR.

> kuppitz makes the good point of the mess Travis has been in lately. 

Is that a reason against using a bot for automation or am I misunderstanding 
your/Daniel's point here? If a Travis build fails non-deterministically for a 
PR created by a bot, then I would simply trigger a rebuild manually.

We could also use such a bot only for the GLVs / some of the GLVs if we don't 
want to update dependencies in general outside of major releases (like 3.5.0). 
At least for .NET I would appreciate such a bot, but I can't say much for 
Python / JavaScript as I don't know enough about how they handle dependency 
updates.

-----Ursprüngliche Nachricht-----
Von: Stephen Mallette <spmalle...@gmail.com> 
Gesendet: Mittwoch, 3. April 2019 20:27
An: dev@tinkerpop.apache.org
Betreff: Re: Using a bot to keep dependencies up to date

hmm - so far i've been the bot. i run maven commands to find out what needs 
upgrading and then make decisions on when to do those upgrades as we don't 
usually upgrade them in a release line unless:

1. they are maven plugins
2. they are fixes for security problems
3. they introduce something important for our code base - like a performance 
fix or other enhancements

That said, my maven commands only deal with Java and not the GLVs so not much 
attention has been paid there unfortunately now that I think about it.
We also typically have JIRAs for version bumps of dependencies - not always 
plugins - so if we continued with that those would be need to be created and 
CHANGELOG entries added manually after a merge i guess.

I'm not completely against the idea, just pointing out some points of friction 
with what we currently do and kuppitz makes the good point of the mess Travis 
has been in lately. Utterly useless the last few weeks. If we didn't use a bot, 
at minimum it would be nice to document the manual methods for getting reports 
for the GLVs that show upgrade paths (I assume that those exist for other 
language ecosystems as they do for maven). it would be nice to hear additional 
thoughts on the matter.

Florian, thanks for taking the time to look into improving our build process.



On Wed, Apr 3, 2019 at 1:29 PM Daniel Kuppitz <m...@gremlin.guru> wrote:

> Pretty cool, I like that (if only Travis would be a little more reliable).
>
> Cheers,
> Daniel
>
>
> On Wed, Apr 3, 2019 at 9:43 AM Florian Hockmann 
> <f...@florian-hockmann.de>
> wrote:
>
> > Hi,
> >
> > we have a lot of dependencies in TinkerPop in different projects and 
> > even across different languages. That makes it hard to keep them 
> > updated which sometimes has security implications.
> >
> > I recently noticed that other open source projects use a bot that 
> > regularly checks whether any updates are available for their 
> > dependencies and then creates one PR per dependency. Just to try it 
> > out with TinkerPop, I activated such a bot on my fork:
> >
> > https://github.com/florianhockmann/tinkerpop/pulls
> >
> > and the overall result looks quite good in my opinion. It created a 
> > lot of PRs* and most could probably be directly merged. The bot can 
> > also be easily configured just by adding comments to its PR, for 
> > example to ignore a certain (major/minor/patch) version of a dependency:
> >
> >
> https://github.com/FlorianHockmann/tinkerpop/pull/24#issuecomment-4739
> 36360
> >
> > What do you think about adding such a bot for our repo?
> >
> >
> > * This is limited to only 5 PRs per day at first to not overwhelm a 
> > project with PRs.
> >
> >
> >
>

Reply via email to