Giter Club home page Giter Club logo

Comments (2)

tsibley avatar tsibley commented on September 26, 2024

I don't think auto-updating is a good idea. It feels wrong to me and would very much surprise me when it happened. (For whatever it's worth, I was a big Homebrew user in my former job and hated the auto-update behaviour.)

The following scenario, made possible by auto-updating, seems at best very rude and at worst infuriating:

  1. Person A is working on a pathogen build using nextstrain build, iterating on their work and steadily making progress.
  2. They go to lunch having reached a good stopping point where things are working.
  3. We release a new image.
  4. They come back from lunch and the now their build is broken because when they ran nextstrain build again it pulled down the new image and hit some incompatibility.

If they're lucky, they'll see what happened. If they're not, well they might be pretty confused and waste a lot of time. They also, crucially, don't have a good nor obvious way to get back to the working state. We've forced them to understand what updated and fix it.

In the case of someone pulling down a new version of a build repo and needing a newer image, the error happens immediately and the situation is basically the same as when not using the image at all. The quickest way forward (when they don't care about why it's broken) is to check for updates by running nextstrain update, the same way you'd have to check for updates to augur/auspice/etc but with less work.

It's possible to imagine ways of versioning our images and being "smart" about auto-updates, but that gets pretty complicated pretty quick. I don't think we really have the infrastructure/process for programmatically tracking what's a breaking change vs. what's not in our own software much less for all of our deps baked into the images. The simpler thing, and the thing abiding by the principle of least surprise, is just to not auto-update.

from cli.

trvrb avatar trvrb commented on September 26, 2024

I agree with this assessment @tsibley. Thank you. I'm going to close this issue.

from cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.