When we run the dev container locally, it will perform a checkout of -site and -core to specific versions. From that point forward, however, it only warns the user when there's a version mismatch. This feels error-prone and will be an annoyance as we update -site and -core. Worse, it can actually lead to an explosion if there's an impossible dependency requirement during pip-sync.
Here's a strategy to do this automatically, as pseudo code:
Check if the minimum version of -site and -core are in the local git checkout.
If not, `git fetch` and ask if the user'd like to checkout that tag.
If so, check to see if the current branch is a child of that tag
If not, ask the user if they'd like to checkout that tag.
When we run the
dev
container locally, it will perform a checkout of -site and -core to specific versions. From that point forward, however, it only warns the user when there's a version mismatch. This feels error-prone and will be an annoyance as we update -site and -core. Worse, it can actually lead to an explosion if there's an impossible dependency requirement duringpip-sync
.Here's a strategy to do this automatically, as pseudo code: