Build:TryServer: Difference between revisions
Lukasblakk (talk | contribs) No edit summary |
Lukasblakk (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
= Try Server = | = Try Server = | ||
'''(THIS DOC IS NO LONGER VALID - SEE [[TryServerAsBranch]] | |||
The try server is an easy way to test a patch on all | 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://<username@host@>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://<username@host@>hg.mozilla.org/try/</code> | ||
To see the results: | To see the results: | ||
* You'll get an email | * 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]. | * 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 [ | * 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!) | 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 17: | Line 19: | ||
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 ==== | ||
* [https://wiki.mozilla.org/Thunderbird/Infrastructure/TryServer Thunderbird Try Server] for the comm-central repository | |||
==== What Gets Tried ==== | |||
The | The Try server currently reports on the following trees: | ||
The | * <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%" | {| border="1" width="100%" | ||
|+ | |+ | ||
|width=" | |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. | |||
|- | |- | ||
| Talos | |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. | |||
|} | |} | ||
== Other Notes == | ==== Notes on creating patches ==== | ||
* 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] | ||
* The default mozconfigs used for tryserver builds are available in Hg: http://hg.mozilla.org/build/buildbot-configs/file/tip/ | * 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. | * 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 ==== | ||
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? | |||
Revision as of 21:58, 18 May 2010
Try Server
(THIS DOC IS NO LONGER VALID - SEE 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/
orhg push -f ssh://<username@host@>hg.mozilla.org/try/
To see the results:
- You'll get an email with unit test results.
- Look for your changeset on the Try Tinderbox or Try TBPL.
- Download your completed builds from /tryserver-builds.
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
- Thunderbird Try Server for the comm-central repository
What Gets Tried
The Try server currently reports on the following trees:
- hg: The Mozilla-Central Mercurial Repository.
- CVS: The Mozilla 1.9 (Firefox 3.0) CVS Repository. This is used for security releases; active development takes place in Mercurial.
| 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 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 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 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?