← Back to team overview

launchpad-dev team mailing list archive

Re: Faster builds

 

On Nov 29, 2010, at 2:02 AM, Steve McInerney wrote:

> On Tue, 2010-11-23 at 17:01 -0500, Gary Poster wrote:
>> On Nov 18, 2010, at 2:06 PM, Maris Fogels wrote:
>>> On 11/18/2010 01:12 PM, Jonathan Lange wrote:
>>>> I don't see how having a clear step "make deploy" that depends on
>>>> "make build" would invite hiccoughs in production.
>>>> 
>>>> jml
>>>> 
>>> 
>>> Jono, I think having a "make deploy" target is a great idea, and
>> would help make
>>> the root Makefile more readable.
>> 
>> As you'd expect, this would need to be coordinated with the LOSAs, so
>> their scripts are also updated.
>> 
>> Also, at that time it would probably be reasonable to reconsider the
>> names we have for the LOSAs generally.  ``make compile`` is useful for
>> deploying non-app-server boxes, for instance.
> 
> 
> AIUI, one of the issues we've stumbled over before is the clash in
> producing binaries for 32bit vs 64bit servers (I believe this problem is
> slowly going away. slowly.)

Yes.  We now only pre-produce eggs because of this.  On the bright side, that's by far the largest expense.

The last I heard, pre-Lucid, the Mailman box was the only one that was still 32 bit.  Dunno about now.

> 
> But if we can pre-build everything but the actual binaries that
> would/should help enormously with deployments.

We do that now *except* for the parts that can't be built without sourcecode (non-egg) binaries--which includes the JS stuff and the WADL stuff, for instance.

If we switch to all 64-bit, then we might be able to do more relatively easily.

Even without that, we could build a bit more--the WADL and the JS in particular--on pras, but it would introduce more fragility (because the target would have to build the whole tree, and then selectively clean only the 64-bit-specific bits, which we might get wrong, and which might be hard to maintain).  I've not considered it a likely win, myself, but the possibility is certainly there.

> 
> ie.
> "pre-deploy-build" on prasé.
> "deploy-compile" on end servers
> 
> kind of thing.
> 
> ??
> 
> 
>> "build_eggs" is the target for the build machine.  It does have
>> comments, happily.  It would not be affected by the proposed "deploy"
>> target.
> 
> Hrm. I think I'm just repeating what you've said...

:-)




References