{"id":366,"date":"2011-04-11T18:15:03","date_gmt":"2011-04-12T01:15:03","guid":{"rendered":"http:\/\/blog.mozilla.org\/axel\/?p=366"},"modified":"2011-05-04T10:33:31","modified_gmt":"2011-05-04T17:33:31","slug":"being-a-localizer-in-the-rapid-release-cycle","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/axel\/2011\/04\/11\/being-a-localizer-in-the-rapid-release-cycle\/","title":{"rendered":"Being a localizer in the rapid release cycle"},"content":{"rendered":"<p>We&#8217;re changing to a <a href=\"http:\/\/mozilla.github.com\/process-releases\/\">6-week release train model<\/a>, and this is going to impact how localizers do their contributions. The following scheme has been cycled in .planning for a bit, so this is what we&#8217;ll be doing. We&#8217;ll adapt that if needed, of course, but based on experience with the next cycle or two.<\/p>\n<p>Recap on the rapid release cycle: en-US developers work on <em>mozilla-central<\/em>, as they used to, and every 6 weeks, we&#8217;ll pull their contributions to another repository, called <a href=\"http:\/\/hg.mozilla.org\/releases\/mozilla-aurora\/\">mozilla-aurora<\/a>. That repository is string frozen. String changes only land in this repository as part of the merge from <em>central<\/em> to <em>aurora<\/em>. After another 6 weeks, the content goes to yet another repository, <em>mozilla-beta<\/em>. Corresponding to those, there&#8217;s <em>l10n\/mozilla-aurora<\/em> and <em>l10n\/mozilla-beta<\/em>. And now you know. Find a glossary at the end of this post.<\/p>\n<p>There are two different localizer schemes: Early birds and friends of string freeze. Read the following descriptions and pick one for your individual localization team.<\/p>\n<p><strong>Early Birds<\/strong> are those localization teams that are happy to follow the <em>mozilla-central<\/em> content quickly and make sure that all issues relating to localizing that code are found and fixed. We already have a few of those that have built their reputation among our hackers to have good input to follow. We don&#8217;t need a lot of those, but the ones we have are crucial to make the plan work, and have code that is properly localizable at any time on <em>aurora<\/em>. You&#8217;ll be following the fx_central tree on the l10n dashboard to catch up on changes.<\/p>\n<p><strong>Friends of String Freeze<\/strong> are those teams that prefer to have stable content to localize with a decent time window to act on it. Many of our localization teams are in this group. If you&#8217;re in this group, you&#8217;ll set your calendar alarm to the next window, hg pull -u on your <em>mozilla-aurora<\/em> clone, your <em>l10n\/mozilla-aurora<\/em> clone, localize, push, test, fix, push, sign-off. Then you set your calendar to the next 6-week cycle, and you&#8217;re all set. The expectation here is that the amount of strings will be rather low, so a day of l10n plus testing and fixing is fine. Usually, you should be able to deliver a great localization for the next version of Firefox in some 3 days. Firefox 5 right now is some 30 strings, other releases will be a good deal bigger. But nowhere close the 1.2k strings of Firefox 4. You&#8217;ll be watching the fx_aurora tree on the l10n dashboard to see the status of your localization.<\/p>\n<p>Sign-offs will happen on <em>aurora<\/em>, in rare cases on <em>beta<\/em>. The setup where we work towards release is <em>aurora<\/em>.<\/p>\n<p>What about the <em>beta<\/em> repositories? Well, I hope to not see a necessity to land on <em>l10n\/mozilla-beta<\/em> for the most part. You should expect that changes you make on <em>l10n\/mozilla-beta<\/em> will be dropped once we do the next update from <em>aurora<\/em>, so you want to have the fixes on both <em>aurora<\/em> and <em>beta<\/em>, if applicable. But really, you want to be good on <em>aurora<\/em>. Then <em>beta<\/em> will be fine and no hassle.<\/p>\n<p><strong>How that maps to mercurial work:<\/strong><\/p>\n<p>For the <strong>Friends of String Freeze<\/strong>, you&#8217;ll not need to worry about anything other than pulling on both repos every cycle. We&#8217;ll take your content from <em>l10n\/mozilla-aurora<\/em> to <em>l10n\/mozilla-beta<\/em>, and may very well at some point stop doing <em>l10n-central<\/em> builds at all for you. Just keep things simple here.<\/p>\n<p>For the <strong>Early Birds<\/strong>, we&#8217;ll rely on you self-identifying and doing a tad of extra work. You&#8217;ll be in best shape to merge your contributions from <em>l10n-central<\/em> to <em>l10n\/mozilla-aurora<\/em>, making sure that the result has all your fixes from both <em>central<\/em> and <em>aurora<\/em>, where you want them. You&#8217;re techy-geeky-savvy anyways, so that&#8217;s allright. If at some point, we learn that there&#8217;s a pattern that benefits from automation, we&#8217;ll check in on that when we get there, too. You shouldn&#8217;t have to worry about getting content on <em>l10n\/mozilla-beta<\/em> anymore than the rest, though.<\/p>\n<p><strong>Glossary<\/strong>:<br \/>\n<a href=\"http:\/\/hg.mozilla.org\/mozilla-central\/\"><em>mozilla-central<\/em><\/a> is the mercurial repository that en-US code is landed to as development makes progress.<br \/>\n<a href=\"http:\/\/hg.mozilla.org\/l10n-central\/\"><em>l10n-central<\/em><\/a> is the tree of mercurial repositories that the early-bird localizers use as development makes progress.<br \/>\n<em>central<\/em> is short for either, or both, of mozilla-central and l10n-central, depending on context.<\/p>\n<p>The terms around <a href=\"http:\/\/hg.mozilla.org\/releases\/mozilla-aurora\/\"><em>mozilla-aurora<\/em><\/a>, <a href=\"http:\/\/hg.mozilla.org\/releases\/l10n\/mozilla-aurora\/\"><em>l10n\/mozilla-aurora<\/em><\/a>, and <em>aurora<\/em> map to their corresponding terms for <em>central<\/em>, same for <a href=\"http:\/\/hg.mozilla.org\/releases\/mozilla-beta\/\"><em>mozilla-beta<\/em><\/a>, <a href=\"http:\/\/hg.mozilla.org\/releases\/l10n\/mozilla-beta\/\"><em>l10n\/mozilla-beta<\/em><\/a>, and <em>beta<\/em>.<\/p>\n<p><strong>Update<\/strong>: Fixed the links to map to the new and stable repository locations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re changing to a 6-week release train model, and this is going to impact how localizers do their contributions. The following scheme has been cycled in .planning for a bit, so this is what we&#8217;ll be doing. We&#8217;ll adapt that if needed, of course, but based on experience with the next cycle or two. Recap [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[23779,23778],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/366"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/comments?post=366"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/posts\/366\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/media?parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/categories?post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/axel\/wp-json\/wp\/v2\/tags?post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}