This PR stacks on the multiarch PRs (and is just the dockerfiles/makefile changes from those) In addition to convenience, it fixes several problems:
development workflow across multiple repositories was a huge pain in the neck
ADDing the code is best practice and makes local development easier
most important, the old git clone https://some_repo_without_a_tagbreaks docker's layer caching: as previously implemented, docker had no way of knowing when the code in the repo had changed and building a new image required manually flushing the cache (via docker build prune -a). This was source of subtle errors if you forgot to flush or otherwise slow.
This PR stacks on the multiarch PRs (and is just the dockerfiles/makefile changes from those) In addition to convenience, it fixes several problems:
ADD
ing the code is best practice and makes local development easiergit clone https://some_repo_without_a_tag
breaks docker's layer caching: as previously implemented, docker had no way of knowing when the code in the repo had changed and building a new image required manually flushing the cache (viadocker build prune -a
). This was source of subtle errors if you forgot to flush or otherwise slow.