launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #05923
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