Build:TryServer: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Redirected page to ReleaseEngineering/TryServer)
 
(47 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= Try Server =
#REDIRECT [[ReleaseEngineering/TryServer]]
'''(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 [http://www.mozilla.org/hacking/committer/ Mozilla hg account] (level 1) to use push to try.
 
To submit a change to the try server:
* Log into the [https://build.mozilla.org/sendchange.cgi Try web interface] with your LDAP username and password and upload a patch;<br>
or
* For changes to mozilla-central or close enough (e.g. tracemonkey branch), you can <code>hg push -f ssh://hg.mozilla.org/try/</code> <br/>''or''<br/><code>hg push -f ssh://&lt;username@host@&gt;hg.mozilla.org/try/</code>
 
To see the results:
* You'll get an email with unit test results.
* Look for your changeset on the [http://tinderbox.mozilla.org/showbuilds.cgi?tree=MozillaTry Try Tinderbox] or [http://tests.themasta.com/tinderboxpushlog/?tree=MozillaTry Try TBPL].
* Download your completed builds from [https://build.mozilla.org/tryserver-builds/?C=M;O=D /tryserver-builds].
 
If you're using Mercurial queues, the <code>push -f</code> 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 <code>try</code> repo, and you probably don’t want to. You’d get every half-baked changeset anybody ever tested.
 
See [http://blog.mozilla.com/jorendorff/2008/08/18/push-to-try/ Jorendorff's blog] for more details.
 
==== Other Mozilla Try Servers ====
 
* [https://wiki.mozilla.org/Thunderbird/Infrastructure/TryServer Thunderbird Try Server] for the comm-central repository
 
==== What Gets Tried ====
 
The Try server currently reports on the following trees:
 
* <b>hg</b>: The [http://hg.mozilla.org/mozilla-central/ Mozilla-Central Mercurial Repository].
 
* <b>CVS</b>: The [https://developer.mozilla.org/en/Mozilla_Source_Code_(CVS) Mozilla 1.9 (Firefox 3.0) CVS Repository].  This is used for security releases; active development takes place in Mercurial.
 
{| border="1" width="100%"
|+
|width="30%"|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 ====
* Finished builds will be deleted after '''14 days'''. Patches are held for 30 days in the event you need a copy.
* If you have any problems please send mail to [mailto:release@mozilla.org release@mozilla.org]
* Your patch may not be tested right away.
* For the moment, the test is whether current trunk+patch (or HG repos) compiles on all three platforms. It's hoped to add the other tinderbox tests later.
* The default mozconfigs used for tryserver builds are available in Hg: http://hg.mozilla.org/build/buildbot-configs/file/tip/tryserver/
* Uploading an alternate mozconfig appends to the default mozconfigs.
* To pull with a specific timestamp, upload a mozconfig file and set [[mdc:Mozilla Source Code Via CVS#Specific Time|MOZ_CO_DATE]].
* Windows builds have symbols uploaded to http://build.mozilla.org/tryserver-symbols. Windbg and the Visual Studio debugger may use them to help debug crashing try server builds. Instructions for setting this up can be found here: http://developer.mozilla.org/en/docs/Using_the_Mozilla_symbol_server. Make sure you use the aforementioned URL instead of http://symbols.mozilla.org/firefox.
 
* Suggestions for the future can be made [[Build:TryServer:Suggestions|here]]
 
==== Unittests on Try ====
  As of March 16, 2009 there is a unittest builder for each platform. 
  The builders only show results on [[http://tinderbox.mozilla.org/showbuilds.cgi?tree=MozillaTry 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?

Latest revision as of 23:01, 21 September 2010