Build:TryServer

From MozillaWiki
Jump to navigation Jump to search

Try Server

(THIS DOC IS NO LONGER VALID - SEE Build:TryServerAsBranch)

The try server is an easy way to test a patch on all 3 platforms without actually checking the patch in to a core repository. You need a Mozilla LDAP account to upload a patch, or a Mozilla hg account (level 1) to use push to try.

To submit a change to the try server:

  • Log into the Try web interface with your LDAP username and password and upload a patch;

or

  • For changes to mozilla-central or close enough (e.g. tracemonkey branch), you can hg push -f ssh://hg.mozilla.org/try/
    or
    hg push -f ssh://<username@host@>hg.mozilla.org/try/

To see the results:

If you're using Mercurial queues, the push -f command pushes any patches that are currently applied, and the Try server will build the result. (This is an awesome feature, not a bug!)

You don’t need to clone or pull from the try repo, and you probably don’t want to. You’d get every half-baked changeset anybody ever tested.

See Jorendorff's blog for more details.

Other Mozilla Try Servers

What Gets Tried

The Try server currently reports on the following trees:

Tinderbox column source platform details
Linux talos try trunk either Linux Runs Talos tests on successful builds from either Linux builder.
Try server linux builder CVS Linux Build only.
Try server linux hg builder hg Linux Build only.
Try server linux unittest builder hg Linux Build and Unittests.
Try server mac builder CVS Macintosh Build only.
Try server mac hg builder hg Macintosh Build only.
Try server mac unittest builder hg Macintosh Build and Unittests.
Try server win32 builder CVS Windows Build only.
Try server win32 hg builder hg Windows Build only.
Try server win32 unittest builder hg Windows Build and Unittests.
WINNT 5.1 talos try trunk either Windows Runs Talos tests on successful builds from either Windows builder.

Notes on creating patches

  • If your patch does not apply cleanly, the build fails.
  • Make sure you do a 'cvs update' before 'cvs diff' to ensure your patch will apply cleanly.
  • For CVS patches,
    • The patch directory is mozilla/. so make sure to create your patches from inside this directory only or else they won't apply.
  • For Mercurial patches,
    • Any patches created with 'hg diff' or 'hg qdiff' *must* be submitted with a patch level of 1!
    • GIT binary patches are not currently supported, so if your patch contains a new binary file, it will not be added, and the build will most likely fail. You have to use the "hg push" approach for these changes.
  • The files mozilla/configure and mozilla/nsprpub/configure are deleted (to be regenerated) before your patch is applied. Do not try to patch these files or the patch will fail to apply (patch configure.in instead).
  • Only Firefox patches can be tested at this time.

Other Notes

  • Suggestions for the future can be made here

Unittests on Try

 As of March 16, 2009 there is a unittest builder for each platform.   
 The builders only show results on [MozillaTry] tinderbox 
 The unittest build is not uploaded.

To be Documented

  • What is a "Patch Level"
  • What is a "Custom Identifier String" and for what purpose is it used?