Build:TryServer: Difference between revisions

Jump to navigation Jump to search
Line 1: Line 1:
= Try Server =
= Try Server =
'''(THIS DOC IS NO LONGER VALID - SEE [[Build:TryServerAsBranch]])'''
== How to push to try ==
 
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:
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>
* 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:
To see the results:
* You'll get an email with unit test results.
* You'll get an email from each builder with 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].
* 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].
* Download your completed builds from [ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/ /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!)
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!)
Line 20: Line 15:
See [http://blog.mozilla.com/jorendorff/2008/08/18/push-to-try/ Jorendorff's blog] for more details.
See [http://blog.mozilla.com/jorendorff/2008/08/18/push-to-try/ Jorendorff's blog] for more details.


==== Other Mozilla Try Servers ====
== Using a custom mozconfig ==
 
If you want to use setting other than those in the [http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/linux/tryserver default mozconfigs ] (linux example).  Then you need to push to the $topsrcdir either:
 
* .mozconfig-extra with settings to be applied to all mozconfigs
* .mozconfig-extra-$platform to apply changes only to that platform's mozconfig
 
The options you enable/disable in your custom mozconfig are appended to the existing config after the default set.


* [https://wiki.mozilla.org/Thunderbird/Infrastructure/TryServer Thunderbird Try Server] for the comm-central repository


==== What Gets Tried ====
== What Gets Tried ==


The Try server currently reports on the following trees:
The Try server currently reports on the following trees:


* <b>hg</b>: The [http://hg.mozilla.org/mozilla-central/ Mozilla-Central Mercurial Repository].
* [http://hg.mozilla.org/mozilla-central/ mozilla-central].
 
* <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.


A push to try kicks off these builders by default:
{| border="1" width="100%"
{| border="1" width="100%"
|+
|+
|width="30%"|Tinderbox column
|width="50%"|'''Builder'''
|source
|'''If successful triggers'''
|platform
|details
|-
|Linux talos try trunk
|either
|Linux
|Runs Talos tests on successful builds from either Linux builder.
|-
|-
|Try server linux builder
| $platform tryserver build
|CVS
| $platform tryserver opt test everythingelse, $platform tryserver opt test mochitests-{1-5}
|Linux
|Build only.
|-
|-
|Try server linux hg builder
| $platform tryserver leak test build 
|hg
| $platform tryserver debug test everythingelse, $platform tryserver debug test mochitests-{1-5}
|Linux
|Build only.
|-
|-
|Try server linux unittest builder
| Maemo try hg build
|hg
|
|Linux
|Build and Unittests.
|-
|-
|Try server mac builder
| Talos runs for each successful build for a platform
|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 ====
== Other Notes ==
 
* Finished builds will be deleted after '''14 days'''.  
* 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]
* If you have any problems please send mail to [mailto:release@mozilla.org release@mozilla.org]
* Your patch may not be tested right away.
* The default mozconfigs used for tryserver builds are available in Hg: http://hg.mozilla.org/build/buildbot-configs/file/tip/mozilla2/$platform/tryserver
* 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.
* 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.
* 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]]
* Suggestions for the future can be made [[Build:TryServer:Suggestions|here]]


==== Unittests on Try ====
== Other Mozilla Try Servers ==
  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 ====
* [https://wiki.mozilla.org/Thunderbird/Infrastructure/TryServer Thunderbird Try Server] for the comm-central repository
* What is a "Patch Level"
* What is a "Custom Identifier String" and for what purpose is it used?
977

edits

Navigation menu