Download a Holly nightly today

4 December, 2013 § 1 Comment

Continuing with the Australis work that much of the Firefox front-end team has been laser-focused on recently, we now have automatically updating nightly builds of Holly (Windows, OS X, Linux).

Firefox Holly

Holly is the version of Nightly that doesn’t include the Australis changes. We are running this special “backout” branch of Nightly because Australis won’t be ready to make the move to Firefox Aurora by the December 9th merge date.

We will continue to work on Australis in the Nightly 29 train, with the goal of Australis merging to Firefox Aurora 29. In the meantime, the Holly branch is what will be merged to Firefox Aurora 28.

It is very important that we have nightly testers who use Holly to help the Firefox community make sure that we have good code coverage over the changes that will be making their way to our Aurora population.

If you’d like to help test out the Holly branch, you can now download an auto-updating nightly build of Holly (Windows, OS X, Linux). Again, these will be very similar to the official Firefox Nightly builds with the exception that they don’t include the Australis user interface changes.

Running a backout branch with Mercurial

21 November, 2013 § 3 Comments

As mentioned in an earlier post, we are running a special branch of Firefox that is made of the Nightly (mozilla-central) trunk minus the Australis changes. This branch will be the source of our Aurora (mozilla-aurora) builds in a few weeks.

As we were planning this work, we found that there weren’t many resources on the internet that described how to do what we wanted.

Basically, we have our trunk that will have a large and invasive feature being built on it. However, we also want to have a branch that doesn’t include this work.

To get started, we created a separate repository (holly) that was cloned from mozilla-central prior to the feature branch being merged in to mozilla-central. When the feature branch was merged in to mozilla-central, we merged over mozilla-central to holly again. At this point we ran a reverse diff of this merge (which only consisted of the feature branch changes). This reverse diff was then applied and committed to essentially back out all of the feature branch on this new holly repository.

Getting started was the easy part. Of course, software is never finished and we needed to figure out how to handle future changes to the feature.

We kicked around many ideas as we were trying to figure out how we wanted to run the backout branch, and I feel that we have settled on a pretty simple route that so far has worked smoothly.

Each time that we want to merge from mozilla-central to holly we do the following:

  1. cd /mozilla-central
  2. hg pull -u
  3. cd /holly
  4. hg pull -u
  5. hg pull /mozilla-central -r mozillaCentralChangeset
  6. if the set of changes between holly tip and mozillaCentralChangeset include changes that need to be backed out:
    1. hg up -r mozillaCentralChangeset
      • to switch heads to the mozilla-central-based head
    2. hg qbackout -r rev1+rev2+rev3
      • from oldest to newest, where rev* are the revisions that need to be backed out)
    3. hg qfin -a
    4. hg up -r hollyTipChangeset
      • to switch heads back to the holly-based head
  7. hg merge
  8. hg commit -m "merge mozilla-central to holly"
  9. hg push

qbackout is a Mercurial extension written by some Mozillians to make backing changesets out much easier. It uses Mercurial Queues and generates reverse diffs instead of creating a full backout branch like hg backout does. I highly recommend it.

I hope this post will help others who want to do something similar.

This Friday: Computer Science as a Profession

13 November, 2013 § 1 Comment

This Friday I’ll be giving a talk to 250 primarily first-year students majoring in Computer Science at Michigan State University. This presentation is part of their CSE 100: Computer Science as a Profession course that students are required to take.

I’m planning on starting with an overview of Mozilla and some of the unique technical challenges that I’ve had to solve. One of the really cool things about working at Mozilla is getting to see and experience up front the wide spectrum of computing problems that are being tackled.

Within the Mozilla community, there are people working on the forefront of research by implementing a new memory-safe and concurrent programming language (Rust) and parallel browser engine (Servo) to finding innovative ways to get people more involved with producing web content (Webmaker).

I will try to record the presentation, but I can’t make any guarantees.

I feel very honored to receive an invitation to give this talk, and I’m greatly looking forward to it. If you have some helpful tips for college freshman, please do share in the comments below.

Australis landing plans

8 November, 2013 § 38 Comments

Australis

The team working on the new Australis version of Firefox (myself included) is starting to get close to merging to mozilla-central. We’re too far from being able to say exactly when this code will merge, but I want to go over our backout plan for Australis.

As you may or may not know, Australis is a project to provide an updated visual design, streamlined tab strip, new Firefox menu and improved customization capabilities.

Australis

Due to its large scope, Australis couldn’t be implemented with the ability to toggle its presence via an about:config preference. This unfortunately carries with it a more burdensome plan to undo the changes should there be issues that lead us to delay the release of Australis.

When Australis (currently located on the UX branch) merges to mozilla-central, the Australis team will manage a special project branch that mirrors mozilla-central but excludes the Australis changes. This branch is located in the temporary Holly project.

In the likely chance that we choose to hold Australis on the Nightly train for an extra release cycle, we will use Holly to merge to mozilla-aurora. This will allow the mozilla-central changes not related to Australis to continue moving along with the release trains.

This also presents an issue in that the code that reaches Aurora will have a tiny fraction of the testing hours on it compared to the Nightly builds. To work around this, I’m asking that users who aren’t interested in Australis use the Holly branch for their Nightly builds. This will help spread out some of the testing hours and make sure to catch any potential merge bustage faster. I’ll be posting a link to download Holly nightlies once we merge from UX to mozilla-central.

In the meantime, if you are looking to help test Australis you can download a build from the UX branch.

My contribution to today’s Firefox release

29 October, 2013 § 6 Comments

I haven’t written up one of these blog posts in a while. The previous one was in August 2012 for Firefox 15. Coincidentally, that post mentioned a subtle change to the site identity area of the web browser.

In today’s release of Firefox, there is another subtle change to the site identity area of the browser. Pages that are a part of Firefox itself, whether it be the built-in home page (about:home), our troubleshooting page (about:support), or others now sport a special Firefox branding within the location bar. The goal of this branding is to increase awareness and trust with these pages.

2013-10-29_1229

Clicking on the Firefox name or the two-tone Firefox logo next to the name will show a popup notification that explains that this is a secure Firefox page.

2013-10-29_1229_002

These changes were previously announced when I introduced them to the Nightly channel of Firefox this past July.

Where Am I?

You are currently browsing entries tagged with mozilla at JAWS.

Follow

Get every new post delivered to your Inbox.

Join 982 other followers