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

Reply via email to