Skip to content
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

Add dependabot where it's convenient? #315

Closed
Michael1993 opened this issue Aug 6, 2020 · 11 comments · Fixed by #337
Closed

Add dependabot where it's convenient? #315

Michael1993 opened this issue Aug 6, 2020 · 11 comments · Fixed by #337

Comments

@Michael1993
Copy link
Member

Basically the title. @aepfli mentioned this in Discord and I think it warrants a proper discussion.

@aepfli
Copy link
Member

aepfli commented Aug 6, 2020

maybe also for gradle build dependencies and for github action updates?

@Michael1993 Michael1993 changed the title Add dependabot only for JUnit Add dependabot where it's convenient? Aug 6, 2020
@Bukama
Copy link
Member

Bukama commented Aug 6, 2020

I'm strongly voting against Dependabot. We decided to choose our dependencies manually and by purpose we don't use the least versions.

So a spamming tools who creates countless of spamming issues or pull requests, which we all auto-close because we don't want to upgrade is non-sense and only bloats tons of shit.

@beatngu13
Copy link
Member

beatngu13 commented Aug 6, 2020

@Bukama I think one has to differentiate between critical / production code dependencies such as JUnit—where we indeed want hand-crafted updates—and non-critical / test code dependencies like AssertJ. For the latter, I find tools like dependabot very useful for two main reasons:

  • One doesn't have to manually trigger tooling such as the Gradle Versions Plugin (or is there a sensible workflow to automate this?)

  • One also gets infrastructure updates for e.g. GitHub Actions

Plus: it is super easy to have a whitelist or a blacklist. Therefore, there is no spamming unless you fuck up the configuration. 😉

So when it comes to updating non-critical dependencies, what is more comfortable than getting notified via a PR that is (most of the time) ready to be merged?

@Bukama
Copy link
Member

Bukama commented Sep 1, 2020

Assigned to @nicolaiparlog to judge as founder as two maintainers (@aepfli and me) have no common point of view.

@signed
Copy link

signed commented Sep 7, 2020

There already is a PR to add dependabot to convert-junit4-to-junit5.

@beatngu13
Copy link
Member

@signed thx for the link, I wasn't aware of that one.

As pointed out by @Bukama, there is no common POV so far. So I guess we shouldn't merge anything Dependabot-related in any Pioneer repo until we / @nicolaiparlog decided how to proceed.

@nipafx
Copy link
Member

nipafx commented Sep 8, 2020

As I see it, dependabot comes with a cost and a benefit:

  • cost: adds issues/PRs that must be dealt with (who said "annoying"?!)
  • benefit: prevents outdated dependencies

For a project that is as loosely maintained as ours, I consider the cost to be non-negligible. The benefits, otoh, seem somewhat negligible:

  • only one run-time dependency that we keep purposely "outdated" (the smallest minor version that supports our feature set)
  • build-time dependencies are mostly test-related
  • JUnit Pioneer is used during testing, so I assume it is removed from the app's attack surface

@nipafx
Copy link
Member

nipafx commented Sep 8, 2020

I was told, that dependabot also updates Gradle and GitHub Actions. They have access to our secrets here on GitHub, so keeping them up-to-date is relevant for us.

A teensy bit of research unearthed two nice features:

  • accept/block lists, so we could exclude JUnit 5 dependencies
  • non-live updates (e.g. weekly/monthly) to reduce number of PRs

This convinced me that we can give dependabot a try if we configure it as described above. I vote for monthly PRs, so we can work through all of them at once.

@nipafx
Copy link
Member

nipafx commented Sep 8, 2020

Since I need to act as a tiebreaker, I'm voting for a dependabot trial. :)

@beatngu13 beatngu13 mentioned this issue Sep 9, 2020
13 tasks
Bukama pushed a commit that referenced this issue Sep 10, 2020
Activates monthly Dependabot updates for Gradle and GitHub Actions,
excluding org.junit.* dependencies.

Closes: #315
PR: #337
@aepfli
Copy link
Member

aepfli commented Sep 10, 2020

i am not sure, that this is closed based on dependabot/dependabot-core#2280 :D not gradle kotlin dsl support

@beatngu13
Copy link
Member

Yeah, currently GHA updates only. 🤷‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants