Tree Rules/Integration: Difference between revisions

no edit summary
m (removed reference to b2g-inbound)
No edit summary
Line 1: Line 1:
== What are integration repositories?  ==
== What are integration repositories?  ==


Repositories such as mozilla-inbound & fx-team are integration branch that merge to and from mozilla-central about once a day.  They're a place where changes can land and be tested without risk of breaking the main mozilla-central trunk.
Repositories such as [https://treeherder.mozilla.org/#/jobs?repo=autoland autoland] and [https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound mozilla-inbound] are integration branch that merge to and from mozilla-central about once a day.  They're a place where changes can land and be tested without risk of breaking the main mozilla-central trunk.


* eg: http://hg.mozilla.org/integration/mozilla-inbound
* eg: http://hg.mozilla.org/integration/mozilla-inbound
Line 11: Line 11:
* Follow the '''[https://developer.mozilla.org/En/Developer_Guide/Committing_Rules_and_Responsibilities general rules for committing]''', ''except'':
* Follow the '''[https://developer.mozilla.org/En/Developer_Guide/Committing_Rules_and_Responsibilities general rules for committing]''', ''except'':
** Committers are ''not'' required to actively watch the tree after pushing to an integration repository.
** Committers are ''not'' required to actively watch the tree after pushing to an integration repository.
** Checking [https://treeherder.mozilla.org/ Treeherder] before pushing is not required, but it is appreciated. If the tree is in a very broken state, you can save the sheriffs work by notifying them instead of pushing.
** Checking [https://treeherder.mozilla.org/ Treeherder] before pushing is not required, but it is appreciated. If the tree is in a very broken state, you can save the sheriffs work by notifying them instead of pushing.
* Integration repositories are no replacement for '''[[Try]]'''. You still need to test your patches before pushing. (This doesn't mean that you need an all-platforms try run for every patch.  But it does mean that you should do enough testing so that you rarely cause red or orange on the integration repository. But breaking it rarely is ok. Never missing a plane means you're spending too much time in airports; never breaking the tree means you're running too many tests before landing.)
* '''Integration repositories are no replacement for [[Try]]'''. You still need to test your patches before pushing. This doesn't mean that you need an all-platforms try run for every patch, but it does mean that you should do enough testing so that you rarely cause red or orange on the integration repository. Breaking it rarely is OK.
** The exception is if you are using the autoland integration with MozReview [[http://mozilla-version-control-tools.readthedocs.io/en/latest/mozreview/autoland.html#sending-commits-to-try send your commits to the Try server automatically]].
* When can I push to the tree? '''Always!'''  
* When can I push to the tree? '''Always!'''  
** If there is something very wrong with the integration repository, a sheriff will close the tree, and your push will fail automatically.
** If there is something very wrong with the integration repository, a sheriff will close the tree, and your push will fail automatically.
* Push to it like any separate hg repo: it is recommended to have a separate local clone. Pull to it, apply your patches, and then push to the integration repository.
* Push to it like any separate hg repo.
** It is recommended to have a separate local clone. Pull to it, apply your patches, and then push to the integration repository.


== Please do the following after pushing to an integration repository ==
== Please do the following after pushing to an integration repository ==
* '''Leave bugs open'''. The sheriff will resolve them when they are merged to m-c.  
* '''Leave bugs open'''. The sheriff will resolve them when they are merged to m-c.  
* '''Add the "leave-open" keyword''' if the bug should not be resolved fixed after the merge to m-c. (We're now using a new semi-automated tool - bug comments won't be seen).
* '''Add the "leave-open" keyword''' if the bug should not be resolved fixed after the merge to m-c. (We're now using a new semi-automated tool - bug comments won't be seen).
Line 27: Line 28:
* If you backout from an integration repository, annotate that in the bug. This helps sheriffs when merging.
* If you backout from an integration repository, annotate that in the bug. This helps sheriffs when merging.
* There is no need to add "[inbound]" to the status whiteboard any more, but you may still do so if it helps with tracking your assigned bugs.
* There is no need to add "[inbound]" to the status whiteboard any more, but you may still do so if it helps with tracking your assigned bugs.
Thanks :-)


== Sheriff Duty ==
== Sheriff Duty ==
Line 48: Line 47:
In case of doubts you can ping any of them in #developers channel.
In case of doubts you can ping any of them in #developers channel.


For the list of people to look out for, see [[Sheriffing#Meet_the_Sheriffs]].
For the list of people to look out for, see [[Sheriffing#Meet_the_Sheriffs|Meet the Sheriffs]].
canmove, Confirmed users
2,850

edits