Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TB (comm-central) TryServer Question.

12 views
Skip to first unread message

ishikawa

unread,
Mar 12, 2013, 7:33:35 AM3/12/13
to
I have been meaning to use TryServer for building thunderbird (comm-central)
for a while.

Now, I finally created a clean source tree that has only the few patches
that need to be tested. Not using Mercurial Queue from the beginning
caused some messy cleanup, and so re-creating a source tree from clean slate
was much easier :-(

Now after reading the relevant pages a few times to use TryServer for TB,
there are a couple of things that are still obscure to me.

I wonder if someone can enlighten me on the following

Q-1. mozconfig to be used for TB (comm-central build)

While the relevant web page for firefox (mozilla-central) tryserver mentions
the use of in-tree mozconfig,
( in https://wiki.mozilla.org/ReleaseEngineering/TryServer
" Using a custom mozconfig
The mozconfigs for recent mozilla-central clones are located in the
browser/config/mozconfigs directory. Edit those as you please. ")

it is not quite clear which mozconfig I am going to use for TB (comm-central
build) on tryserver.
I looked at the recent clean comm-central checkout, but could not figure out
where such mozconfig is hidden/located.

Or is it a norm that we do not bother with mozconfig since it is handled
properly anyway by the try server?
[Now this seems to be the case after re-reading the pages and many thoughts,
but I need confirmation. I don't want to put useless load on the tryserver
since it seems a scarce resource.]

2. TB (comm-central) requires TB-specific directory AND
the underlying "./mozilla" directory (m-c) as part of its tree.

I figure out how to push the change in TB-specific directory, but
it is not entirely clear how I can push the change "./mozilla" directory.
It seems to me that for Firefox (mozilla-central) build, all you need is to push
push -f try (after appropriately set various options in .hgrc, hgrc, etc.)

But if I do this in the local clone of comm-central,
I am afraid that it may push only the change in the TB-directory
and NOT the change in mozilla-central directory.
(Or maybe I am wrong. But my past tinkering with the comm-central source
tree led to my current understanding. If I do "hg diff" under local
comm-central directory, all I get is the difference from c-c.
I need to go down "./mozilla" and do another "hg diff" to see
the changes I made to the "./mozilla", i.e., m-c portion of the source tree.


https://wiki.mozilla.org/ReleaseEngineering/ThunderbirdTryServer
explains this as follows.

> Tips and Tricks
>
> Pushing a try build with try-comm-central will always pick the latest m-c changeset.
>
> Pushing mozilla-central patches
>
> There's two steps to this process.
>
> Edit client.py-args: remove the hgtool option, add --apply-patches
> Example patch here
> Do this as a separate item in your mq and you can use whenever you want
> Note: hgtool option removal is because I'm not convinced if applying a patch affects the hg share or not

The above seems to be the key, but the following explanation confuses me a bit.

> Take your mozilla-central patch and name it something like: mozilla-<anything>.patch
> hg add your patch

hg add to where?

My understanding is that mercurial repository for TB (comm-central) and the
underlying "./mozilla" directory (m-c) respository are handled as separate
entity if I am not mistaken.

So my previous experience suggested that if I do hg add under local
comm-central repository, it only adds to comm-central portion, and
for m-c change (under "./mozilla" directory of comm-central tree),
I need to move down to "./mozilla" directory to do hg add, etc.

(Hmm.: It just dawned on me. Do I add this as part of the comm-central
directory as plain source text patch? Is the tryserver side clever enough
to figure out these files with names like "mozilla-anything.patch"
be applied as patches to "./mozilla", i.e., m-c part? )

> Then hg commit your changes, or use hg qnew for a new item on your patch queue
> Push your patches to try-comm-central

With my prior understanding, should I commit two pushes?

one under local comm-central directory, and
then go down to "./mozilla" directory and do push again?

That does not sound quite right.

(Maybe my guess of creating mozilla-anything.patch as plain text file
under top-level of local comm-central is the way to go.)

>
> The client.py code will automatically apply your patch when the code is checked out. Any apply failures will cause the builds to be aborted.

Or is the modified client.py code (which will be modified by my first push)
be clever enough to pick the subsequent push under "./mozilla" directory (m-c)?

Enlightenment will be welcome.

TIA

PS: Or is it possible that the modified client.py ON the LOCAL PC,
handles the pushing of patches in "./mozilla" directory automatically
on my local PC so that the patches for "./mozilla" get pushed to tryserver?

I have checked the following URL and saw the mixture of
c-c and m-c patches, and that is what makes me wonder: I wonder how these
get created in one push basically.:

https://tbpl.mozilla.org/?tree=Thunderbird-Try&pusher=bugz...@standard8.plus.com


ISHIKAWA, Chiaki

unread,
Mar 12, 2013, 10:21:08 AM3/12/13
to
I think my guess was correct.

I should add the patch for "./mozilla" (m-c) tree as a plain-text patch, named as
"mozilla-whatever.patch" and put it as a plain text file under local clone of
comm-central top directory and "hg add" it to comm-central repository.

Also, unless I need something really special, I don't think I need to tweak
mozconfig explicitly since the TryChooser string allows me to
choose optimization/debug, test, etc.

It seems my first attempt for using TB TryServer is running (!)

TIA

PS: Maybe the TB Tryserver web page can use some rewriting.
https://wiki.mozilla.org/ReleaseEngineering/ThunderbirdTryServer

plyf...@gmail.com

unread,
Aug 11, 2013, 11:28:29 PM8/11/13
to
0 new messages