Unneeded pauses - Fetching artifact list

This is utterly obnoxious - to the point where I really wonder why I'm using buildstream, I'd rather use a non deterministic tool for my development purposes, as long as it doesn't make me wait for a few seconds for every single invocation.

Depending on your internet connection, your mileage will vary; if you happen to be in Manchester, where gnome7.codethink.co.uk physically is, then this annoyance might go unnoticed - here in Seoul; it takes anywhere from 3 to 10 seconds on every invocation to download a list of artifacts I just dont need.

Consider, why do we need to fetch the artifact list ?

  • For bst build to construct a proper build plan
    • This is acceptable and necessary
  • For bst push and bst pull to know what needs to be uploaded or downloaded
    • This is acceptable and necessary
  • For bst track when fetching new source references
    • Wasting seconds of user time might allow us to see downloadable state in the summary
    • Absolutely no reason we should be obnoxiously wasting user time and causing frustration for this
  • For bst fetch to ensure we obtain sources
    • Wasting seconds of user time might allow us to see downloadable state in the summary
    • Absolutely no reason we should be obnoxiously wasting user time and causing frustration for this
  • For bst show to show downloadable state
    • Do we really want to refresh the list every time ?
    • On the one hand, we can't know downloadable state without checking, on the other hand; the user probably doesnt care about knowing this 99% of the time
    • Lets make an explicit CLI option for force refreshing local knowledge of what is downloadable from the remote cache ?
  • For bst shell
    • Absolutely no reason we should be obnoxiously wasting user time and causing frustration for this
  • For bst checkout
    • Absolutely no reason we should be obnoxiously wasting user time and causing frustration for this
  • For bst workspace <anything>
    • Absolutely no reason we should be obnoxiously wasting user time and causing frustration for this
  • For bst source-bundle
    • I dont use this, and it's not a frequent command so it matters much less, but also I dont see why this refresh would be needed
Edited by Tristan Van Berkom