Monday, September 27, 2010

Seneca, FSOSS and Release Engineering

This quarter there are many things that are bringing me back to Seneca College for open source related reasons.

This time is about a couple of presentations and a joint project with Fedora.
  1. Tomorrow I will be presenting at one of ctyler's courses ("Software Build and Release" - SBR600)with regards how our release engineering systems work.
  2. Next month I will be presenting at FSOSS to a larger audience how we use Buildbot in our Release Engineering team.
  3. Even more exciting is the joint project with Fedora and ctyler to setup Firefox nightly and beta builds for Fedora users.
I love presentations and I believe there are many good stories from our team that we can share.
The Fedora-Firefox repositories project is very interesting to me as it is an area that I have always wanted to investigate how it works. I also believe that we can have a benefitial impact for both Linux users and the open web.

Let's hack!


Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Wednesday, September 22, 2010

Release Engineering & Student Projects

This semester we are trying to see if we can get some students to contribute to Mozilla by working with the Release Engineering team on very diverse and interesting projects. You might not have heard of Release Engineering before. I had no knowledge of the area before I got involved as a student at Seneca. In short, a release engineer at Mozilla creates, maintains, and automates systems to deal with the release infrastructure.  Our work affects you every time you get an update with Firefox. We generate releases and updates for all different platforms; Linux, Mac, Windows and their 64-bit counterparts. Our systems also manage the continuous integration for developers working on Firefox and other Mozilla projects generating build, test, and performance results as developers commit changes and believe me they push our systems to the limit :P

We've put together a list of project we think might be interesting (and are manageable in size) to student contribution:

Teach the slave to be smarter! - The hgtools project
What if our pool of builders was better at managing all the different working directories (from Mercurial checkouts) we need at any give time?
If you look at this conversation from IRC you can see the benefits of this and a patch that has the initial work of it.

I am a releng and we are bad ass - ask me why :)
Give me a script and I will run it - The ScriptFactory project
Imagine that we did not have to touch that much our buildbot factories but instead we would maintain a bunch of script for all the different jobs we run? That would be easier and not even require our masters to be reconfigured to pick up the changes!
It would be good if we could create scripts that told a machine how to generate an optimized build, a debug build, unit tests, talos runs, locale repackages.
If you look in the tools/scripts repo you can see that we have a simple shell file to do this for the fuzzing automation. The buildbot factory that calls it is called ScriptFactory and it is very simple.





 
End-to-end project
How can we build faster and provide tests results faster to our developers?
That is what we are trying to figure out and we will be adding bugs to this tracking bug to optimize our infrastructure.

I don't like waiting - give me a CPU!
We have hundred jobs running per hour and we sometimes have jobs that have to wait before getting started. If we optimized the load we could make these jobs have to wait earlier. I will be adding bugs to this tracking bug to reduce our load on our pools and therefore reduce our waiting times.

Many many more projects...
We have a really large number of bugs unassigned and here are the queries for them in case any previous project did not call your attention:


Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Tuesday, September 21, 2010

Firefox in Armenian: approved beta!

If you look at the L10n dashboard you can see that we are at 81% of translations for Firefox 4 and even better than that is that we our sign off for the following beta has been approved!!





We have been working really hard using Narro since we have been officially been recognised a locale for Firefox 4 a little more than a month ago.
You can see our progress in the last two weeks on Narro by looking at this screenshot that shows number of new translations VS approved translations (which :









If you would like to give us a hand translating into Armenian please visit this page and gives us your suggestions!














Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Monday, September 20, 2010

What my Releng Buildduty TabCandy/Panorama looks like (screenshot!)

I started using groups for when I am on buildduty (which happens every 8-10 weeks) and I find it very very useful.
I match my todo list on my little paper notebook to each group and scratching it on the page means closing the actual group in my panorama.

Here is the screenshot. Let's see how it looks by the end of the week.











Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Wednesday, September 01, 2010

Firefox in Armenian: ready to download! (development builds)

Thanks to Mozilla's l10n-drivers, Robert Sargsyan, Hrant Ohanyan and other contributors we are now an official team and we are part of the Mozilla's new locales.

You can access the development Firefox builds (aka Minefield) in Armenian (Windows, Mac & Linux) which were recently announced by Seth. Armenian is going to be part of the new languages which we will try to ship with Firefox 4.0 and it is now time to get cranking at this ;) As always I will only be driving this since I can't really read/write in Armenian.

 
Here is a quick look at what needs work to be done:
  • Product (Firefox itself)
    • Mozilla will soon be feature complete which means that new strings won't be added
  • Productization components (feeds, news sites, search engines) 
    • This is the hardest area and where I can help the least. I will blog about this later.
  • Web pages
    • This is the easiest areas if we exclude the "Getting started" page
Here is a breakdown of the previous section
I need a lot of help with the "Getting started" page as the Armenian web world is very unknown to me. If you are Armenian please feel free to fill out the survey or you can forward it to your friends. You can also re-tweet this tweet.

There are 2 web pieces that need translation. It is very easy. Please have a look at it.

Product translations will still be done through Narro and approvals through Robert.
Please send this post to any friends that you believe could help us with this.

Thanks a lot again to Robert, Hrant and Philip for their continuous contributions.

Regards,
Armen




Creative Commons License
This work by Zambrano Gasparnian, Armen is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.