docker-images
docker-images copied to clipboard
build sagemath-develop on top of sagemath?
Just a random thought: Assuming we keep building both sagemath-develop and sagemath from sources cloned from github, we could build sagemath-develop from sagemath by pulling develop and rerunning make. This would save almost half of the resources for building both images. This may mean a slightly larger sagemath-develop (since there may be file changes between the two images that the filesystem needs to keep track of). But we don't care so much about the size of the sagemath-develop image. Of course, this only makes sense if we don't squeeze down the size of sagemath by cleaning out development-only stuff.
Is that done normally--i.e. building one version of sage, and then switching to a different branch/tag and re-building from the same source tree, without a clean first? How well does that work?
I'm starting to investigate the build infrastructure more (in part to try to debug a problem I'm having with my reworked sage install script for the docker images...)
On Mon, Feb 22, 2016 at 04:32:20AM -0800, Erik Bray wrote:
Is that done normally--i.e. building one version of sage, and then switching to a different branch/tag and re-building from the same source tree, without a clean first? How well does that work?
It's designed to work. That being said, there can be glitches here and there when a file is added in a branch and removed when switching to another, typically with sphinx; but most of the time this works smoothly.
As we said the other day, this might also pose challenges for the "cleanup" portion of the build. In principle we could still have some sort of "base" image that is pre-cleanup, and then build the reduced-sized images that users would actually install on top of that. Maybe fine as long as it's not too confusing.
Btw., I am doing this in #13. I am still struggling with the doc-build. For some reason the docs always want to rebuild. If somebody of you understands well how sphinx figures out what to rebuild, I'd like some help here :)