On Wed, Mar 11, 2015 at 12:57 PM, Nicolas B. Pierron < nicolas.b.pier...@mozilla.com> wrote:
> On 03/11/2015 07:13 PM, Gregory Szorc wrote: > >> This build environment would be defined inside >> mozilla-central in such a way that it is reproducible over time. e.g. >> update your source repo to a commit from March 2015 and you automatically >> get the build environment that was used in March 2015. Another aspect of >> this switch is it gets us much closer to deterministic and reproducible >> builds. >> > > Am I reading docker and reproducible in the same statement? Do we intend > to save one docker image for each modification of the script? How would we > deal with updates of the distribution? When should we update our > dependencies? Would we have to maintain a mirror for all versions of the > the distribution? > > When I complain about the build system of FirefoxOS being damn crazy > because you have to pull 106 repository over 108 that you only build once, > this is even crazier than that. I hope we are never going to claim that > the safest way of building Firefox is to download 8 GB of docker image. > I'm not sure what this will look like. In theory there will be a different docker image for each modification of the script. That does conjure up fears of having to download a massive new image with each new change. First, the environment doesn't change that often. Second, I think we can do better than pure Docker image distribution. There are more intelligent ways to build and distribute images than stacking filesystem layers. I suspect we can come up with something that doesn't waste bandwidth as much as Docker images. > > This is achievable today. Bug 1133877 tracks an aspect of it. >> > > Yes, we could also use less invasive solutions. Something which will not > break users tools, while offering the option of a build environment which > can be controlled, reproduced, verified (reproducibility wise), signed by > Mozilla, shared between developers, and which works on Linux & Mac (& > Windows maybe one day …), such as what I started in Bug 1115107. > > What I don't know is: >> >> 2) Whether distros will use our official build environments. >> > > I think answer would be something less polite than "no way!". > > On the other hand, this sounds like a simple way to lose a minor part of > our user and the major part of our developers, if we are no longer going to > support anything else. > Yes, one of the benefits of doing "host builds" today is that we test on many different platforms and distributions. We know pretty quickly when Firefox breaks on a certain distro because we have Firefox developers running that distro. Going hard into building from well-defined and isolated environments runs the risk of delaying detection of breakage and pushing the problem downstream. That's something that should be considered. At the end of the day, I want to give developers a choice of what environment to use. Many don't want to deal with things like breakages due to incompatibilities with the host environment. If we can give them an isolated environment that "just works" so they don't have to worry about fire drills, I consider that a win for developer productivity. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform