QA/Simple Try Builds
Simple How-To make Try builds
Prerequisites
You will need to complete the Mercurial Committer agreement, deliver it to Erica, and file a bug asking for commit access from IT. In that bug attach your public key and have someone (preferably a developer or manager) vouch that you need those comitter rights. [1] Here is an example.
Steps
Presumably you've already CLONED the HG repository in question by now. If not, do so (this example assumes Mozilla Central):
$ hg clone http://hg.mozilla.org/mozilla-central/ src
At Mozilla, Diff files pertaining to specific code changes are available as bug attachments. Download the specific diffs you wish to try.
If you've taken more than a few hours since the first clone, or want to be sure you are up to date, pull the latest and update your repo:
$ cd src $ hg pull $ hg update
Now it's time to start adding the diffs:
$ hg qimport ~/Documents/diffs/diff1 #(my patch)
Repeat this step for all the diffs you want to add.
$ hg qseries
This should show the diffs you've added.
$ hg qgoto diff1
Now you can begin the actual build process. Try Chooser Syntax is a tool that allows you to generate the try syntax you want. Try it out! ;-)
For example, if I wanted to build only android native and android-xul, I would, after getting my try syntax, issue the following command:
$ hg qnew -m "try: -b do -p android,android-xul -u all -t none" diff1
Actual syntax for the command is:
$ hg qnew -m "try: <insert options here>" diff1
And then I push the lot to the server:
$ hg push -f -rtip ssh://hg.mozilla.org/try
Building, and if you opt to do so - running the tests- takes a fair bit of time but eventually your try build(s) are spit out here:
https://tbpl.mozilla.org/ (click B for relevant build and to go build directory at bottom)
and here: https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/
If the B is of any other color, then the build has failed, or is still in progress.
After pushing, I can remove the empty patch from my local repo:
$ hg qpop $ hg qremove diff1
Hopefully this is enough to get you started, but more specifics on the topic can be found here