oxidecomputer / buildomat

a software build labour-saving device
Mozilla Public License 2.0
53 stars 2 forks source link

support for potentially persisting ephemera between builds #32

Open jclulow opened 1 year ago

jclulow commented 1 year ago

At present, buildomat targets provide a pristine environment each time a job is started. This is the best way to provide reliable, understandable results that can be reproduced or debugged after a build completes.

Unfortunately, some software build processes are truly staggeringly expensive. It would appear to be possible to, at the expense of making the build less hermetic, persist some portion of the build environment at the end of a successful build (but not the whole environment) to be unfurled on top of the pristine environment the next time around. This is obviously a facility that will require some care in order to avoid creating a lot of potentially quiet problems; some features we should consider are:

steveklabnik commented 1 year ago

@jclulow if I were interested in trying to implement this, is there a path that you particularly would prefer? that is, which way is most likely to get accepted?

Happy to chat through details as well.

smklein commented 9 months ago

Any update here? As I mentioned on https://github.com/oxidecomputer/omicron/issues/4471 -- this could easily shave ~10 minutes off most of our Omicron jobs