Skip to content

[Baseline practices] Keeping dependencies and node up to date #280

Closed

Description

@dominykas

We should have a doc, which describes the whys and the hows of staying up to date.

Activity

  1. ghinks commented on Nov 9, 2019

    @ghinks
    Contributor

    Something like the steps involved in setting up renovate bot on github for a repo and what are views are on the sort of schedule for updates?

  2. dominykas commented on Nov 9, 2019

    @dominykas
    MemberAuthor

    Yes, although I think we should cover more than just renovate. There's also options for automerging, lock file maintenance, etc.

    One thing I'd also be interested to see is keeping multiple release lines updated, esp. If we're going to make LTS for packages happen.

  3. balupton commented on Nov 18, 2019

    @balupton
    Contributor

    FWIW

    @bevry accomplishes the goal of this automatically for all of its packages, through the following pieces

  4. self-assigned this
    on Nov 30, 2019
  5. dominykas commented on Feb 17, 2020

    @dominykas
    MemberAuthor

    Adding to the meeting agenda:

    I think we need an official repo (i.e. under nodejs, not pkgjs org) for Travis (and in the future - other CI setup?) includes. I know @ljharb was working on something - not sure how ready that is?

    What I'd like to see is an include file with min version and the support policy - we can discuss details in the meeting/new issue (in the new repo?)

  6. ljharb commented on Feb 17, 2020

    @ljharb
    SponsorMember

    I have https://github.com/ljharb/travis-ci which I’m using in hundreds of repos; there’s parts of it that remain mildly opinionated about package.json scripts structure, is all.

    That said, it’s already possible to rely on just the version matrix from it.

  7. wesleytodd commented on Feb 17, 2020

    @wesleytodd
    Member

    Is the reason this is travis specific because that is still the most popular? I personally am switching everything to GH actions, and we discussed on Express doing the same. It seems like having one project with shared configurations just for the node versions part for all popular CI services would be the right course no?

    EDIT:

    and in the future - other CI setup?

    I see you agree that it should include other CI services, my bad. With that as the goal I agree!

  8. ljharb commented on Feb 17, 2020

    @ljharb
    SponsorMember

    I don’t think there can be a single universal source based on what’s supported right now; i think each service needs it’s own distinct solution (even if that’s all maintained by us).

  9. dominykas commented on Feb 17, 2020

    @dominykas
    MemberAuthor

    GH actions

    TBH, I haven't followed the latest developments, but I was hoping that it can all be done natively by GH... If that's not available - sure, absolutely, we should provide an official recommendation in the nodejs org.

    I think a repo-per-service is probably better? Ideas for a naming convention?

  10. wesleytodd commented on Feb 20, 2020

    @wesleytodd
    Member

    I recently setup dependabot on a few repos to see how it works. My first take is "WOW it is so chatty". We had disabled it on Express for this reason, and I thought maybe there were just some settings to make it better. I could not find those settings.

    Here are the questions I have:

    • Why it closes and re-opens new PRs for the same dependency as it continues to get updated? Seems like it should just force push to the same PR.
    • Can it have one PR with many commits which update each the out of date deps. That would centralize it and also make it so you could cherry pick out the ones you want.
    • Can it allow repos to specify rules around which deps to update. In Express packages there are many deps we would want it to ignore for specific reasons. If we dont have this I am not sure we can use it.

    They have a feedback repo, so maybe I will reach out to them there.

  11. ljharb commented on Feb 20, 2020

    @ljharb
    SponsorMember

    I definitely disable dependabot on every repo for these reasons and others; i prefer greenkeeper.

  12. lirantal commented on Feb 20, 2020

    @lirantal
    Member

    Chiming in here since I actually wrote about this thing recently with regards to Snyk which recently rolled out support for dep upgrades.

    One of the key points I was making is the ability to configure the type of upgrades you want to receive, ignore some packages if you want, and most importantly the default setup limits the PRs being opened to 5 exactly due to the problem of increased noise and overhead in managing a repo for devs:

    image

  13. dominykas commented on Feb 23, 2020

    @dominykas
    MemberAuthor

    Here are the questions I have:

    I know for sure that renovate can do all of these things.

  14. richardlau commented on Apr 6, 2020

    @richardlau
    Member

    I definitely disable dependabot on every repo for these reasons and others; i prefer greenkeeper.

    Greenkeeper is being sunset on 3rd June 2020: https://greenkeeper.io/

  15. ljharb commented on Apr 7, 2020

    @ljharb
    SponsorMember

    … and replaced with a Snyk service.

  16. vweevers commented on Apr 7, 2020

    @vweevers

    For those looking to replace Greenkeeper, this Renovate config comes pretty close:

    {
      "extends": ["config:base"],
      "labels": ["greenkeeper"], // ;)
      "suppressNotifications": ["prIgnoreNotification"],
      "rangeStrategy": "replace"
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions