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

Configure Dependabot #8204

Closed
ghost opened this issue Nov 24, 2020 · 22 comments
Closed

Configure Dependabot #8204

ghost opened this issue Nov 24, 2020 · 22 comments
Labels
Area-GitHub workflow Issues regarding the GitHub workflow and automation Status-Blocked We can't make progress due to a dependency or issue

Comments

@ghost
Copy link

ghost commented Nov 24, 2020

We should have dependabot enabled to make sure that our dependencies are up-to-date

@ghost ghost added Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams Area-GitHub workflow Issues regarding the GitHub workflow and automation Issue-Refactoring We want to adjust code and removed Issue-Refactoring We want to adjust code labels Nov 24, 2020
@enricogior
Copy link
Contributor

Which dependencies are you referring to?

@ghost
Copy link
Author

ghost commented Nov 24, 2020

Nuget, GitHub Actions

@enricogior
Copy link
Contributor

Only we can then skip those notifications and not being spammed.
Nuget packages update is not something that should be done without validation of the updates.
In August we had a serious bug because of a blind update.

@ghost
Copy link
Author

ghost commented Nov 24, 2020

Well only for GitHub Actions? @jsoref's Action is in alpha. Surely it is better to keep it up-to-date?

@ghost
Copy link
Author

ghost commented Nov 24, 2020

something that should be done without validation of the updates.

It's like an ordinary PR. You will have CI running and you would have to approve it. You can checkout the branch and build and test yourself.

@ghost
Copy link
Author

ghost commented Nov 24, 2020

You don't have to upgrade dependencies manually like in #7618. Dependabot also includes the changelog and individual commits between the old and the new version in the PR so that you can scan through it to find any possible incompatibilities.

@enricogior
Copy link
Contributor

OK

@ghost
Copy link
Author

ghost commented Nov 24, 2020

Also since each dependencies have its own PR. Its easy to validate each dependency/accept only upgrading some dependencies

@ghost ghost self-assigned this Nov 24, 2020
@jsoref
Copy link
Contributor

jsoref commented Nov 24, 2020

Fwiw, I'm likely to make a PR for my action for at least the next version, but in the long run, it's probably worth having dependabot do the legwork (in the near term, it's probably more likely to update the checkout action periodically).

@ghost
Copy link
Author

ghost commented Nov 24, 2020

I am already bombarded with Pull Requests. I don't think we should merge them until after the release of 0.27. I haven't finished configuring it yet. I have to add every single directory with project file in the config file. There might be a better way of doing this. I just don't know

See https://github.com/alannt777/PowerToys/pulls

@ghost
Copy link
Author

ghost commented Nov 24, 2020

There are 76 pull requests to be exact

@ghost
Copy link
Author

ghost commented Nov 24, 2020

This is a problem. Since we have 76 pull requests, we cannot merge them right in. We would have to be slow and precise while merging them to make sure that nothing goes wrong.

Then one could say, "Don't bother"

That does not make sense in a security point of view and it is important to use the newer version (not necessary to have the latest unless in the event of a security vulnerability)

@Aaron-Junker
Copy link
Collaborator

Does this make the build process longer? When yes i'm not for this. But when not its ok for me

@ghost
Copy link
Author

ghost commented Nov 24, 2020

This has nothing to do with the build. I runs once every day in GitHub-hosted servers, not in Azure Pipelines

@ghost
Copy link
Author

ghost commented Nov 24, 2020

UPDATE: 102 pull requests

@ghost ghost mentioned this issue Nov 24, 2020
4 tasks
@ghost ghost added Cost-Large Large work item - 3+ days worth of work (chances are needs to be broken down) Status-In progress This issue or work-item is under development labels Nov 24, 2020
@jsoref
Copy link
Contributor

jsoref commented Nov 24, 2020

For perspective, the overhead is mostly review (and if you're paying for the build time triggered by PRs). We run it w/ some small repos w/ quite a few scala/java and yarn dependencies and allocate a non trivial amount of time reviewing the PRs and approving them (a fractional person per week out of a small team).

The other approach is to ignore the problem and then deal with breakage/security problems on the late side.

Both approaches are frustrating. In the long run, it's better to let dependabot incrementally manage the PRs than try to upgrade everything at once with months in between upgrades and have no idea what caused a break.

@ghost
Copy link
Author

ghost commented Nov 24, 2020

How about adding project directories into Dependabot config slowly? This would drastically reduce the amount of PRs and it becomes easy to manage everything.

@crutkas
Copy link
Member

crutkas commented Nov 24, 2020

Reason why you don’t do dependencies in all the time is you have to test. We do this at the start of an iteration typically.

If something also is stable, we may not want to update intentionally. More so with code paths we don’t update regularly

@crutkas
Copy link
Member

crutkas commented Nov 24, 2020

@jsoref please make a dedicated PR.

@ghost
Copy link
Author

ghost commented Nov 26, 2020

Will have to wait for dependabot/dependabot-core#2178

@ghost ghost added Status-Blocked We can't make progress due to a dependency or issue and removed Status-In progress This issue or work-item is under development labels Nov 26, 2020
@ghost ghost removed their assignment Nov 26, 2020
@crutkas crutkas removed the Cost-Large Large work item - 3+ days worth of work (chances are needs to be broken down) label Nov 30, 2020
@crutkas
Copy link
Member

crutkas commented Nov 30, 2020

@alannt777, something shouldn't be in progress before we've agreed to the work

@crutkas
Copy link
Member

crutkas commented Nov 30, 2020

Sync'ed with @enricogior, we want to be very deliberate on updating. We do this update monthly and do have automated security bots that warn us for security issues.

@crutkas crutkas closed this as completed Nov 30, 2020
@crutkas crutkas removed the Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams label Nov 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-GitHub workflow Issues regarding the GitHub workflow and automation Status-Blocked We can't make progress due to a dependency or issue
Projects
None yet
Development

No branches or pull requests

4 participants