Release-Mgmt: My First Beta from the ‘other’ side

Hello and welcome to my continued documentation off my learning curve in Release Management, something I’ve now been working at for 6 weeks.  Last time I was reeling from the new-to-me meeting/email/bugmail firehose.  Now I’ve got that more under control, having created many more filters and folders in Thunderbird as well as having a chance to do more work on the automated tracking emails script.

To continue to spread out the knowledge and tasks for release managers across more than just one Alex, last week I ran my first beta (Firefox 12 beta 4) and now I’m going to tell you what that involved because the bugzilla API is down.

Monday

Monday is about getting the queries down as much as possible.  This means making sure anything with Tracking?, approval-mozilla{beta,aurora,esr10}? is triaged and nudged further towards its final destination on the trains. We’re also needing to watch out at this point for riskier fixes, things that really need some bake time with actual users need to be landed for a beta4 since beta5 is more for low-risk regression back-outs and security fixes that need to land just in time for beta 6 (what is usually re-built as the appropriately branded final release).  At this point in the week there might be about 80-90 bugs we need to get sorted and at the end of the day only about 6 bugs were in the ‘really want this in beta 4’ list.

Tuesday

For this particular beta, we had been asked if it would be possible to give the ‘go’ to build earlier than usual because there was a fairly popular holiday weekend coming up (Easter) and our QA lead for this release was in Canada where Good Friday is a statutory holiday. The QA lead asked if we could go to build earlier so that a Thursday release of the beta would be possible. We confirmed with RelEng that this was do-able and agreed to do our best to get the ‘go’ out at an earlier time.  The plan was for everything to be landed by 2:30pm (Pacific) in order to have a changeset ready to fire off to Release Engineering by 5pm.

Going through the ‘burn list’ from Monday (6 bugs) mostly entailed tracking down people to land patches. There has to be a cutoff time for landings since it takes about 4 hours to get all the builds and tests for a push to the hg repo to report back completely. Note that improvements to build times are being worked on, case in point: faster Mac builds (newer hardware and using OS X 10.7)  take ~2.5hours off the normal Mac build times.

For one of the bugs we weren’t able to reach the dev and a volunteer committer found that the patch didn’t apply cleanly so that bug had to miss the train.  The others got in and I sent the ‘go’ to build Firefox 12 beta 4 at approximately 5:45pm (45 minutes later than desired).  All the results weren’t in yet for this changeset but I wanted to get a shot at making the request for earlier builds to QA so I took the risk that the builds/tests would be OK and we’d be already building when we confirmed that.  Had the builds/tests *not* turned out we’d have to scrap the chance at moving up the release window and one of our QA leads would have worked on a holiday to meet our ‘normal’ Friday release window.  So I took the leap (and this ended up being fine, though I wouldn’t do this again without good reason as it was a stressful call to make and it’s not a good practice to get into).

Right after the ‘go’ email was sent hg.mozilla.org went down and we lost 3 hours of build time.  This is not a normal result of giving the ‘go’ to build.  It was probably just because Hal was new to doing releases and I was new to running a beta so at least one thing had to come along and shake our confidence.

Wednesday

There’s not much (beta-running) to do on Wednesday except wait for Desktop & Mobile QA to do their thing.

Thursday

Mobile & Desktop QA send their results out – either signing off on the builds/updates or calling out issues. At this point QA signed off so at that point I could request the Release Engineer to push the updates to the beta channel (and upload a new beta apk to the Google Play Store). An hour or so later both QA leads signed off on the updates for the release that’s now live to our beta users.  After that, there’s just some product details to change for our websites to include beta 4.  We don’t do release notes per-beta which is good to know for when I run a beta 1.

Friday

Normally we’d be doing the push to beta channel on a Friday, so what would have been different was:

  • getting everything landed to mozilla-beta could have gone until later in the day
  • the ‘go’ to build email wouldn’t have resulted in immediate builds, they could start on Wednesday at the beginning of the Release Engineer’s day
  • QA needs two full nights of testing, so we’d get sign offs from QA on Friday morning instead – hence the push to beta channel (and store) on Friday afternoon

Nothing too crazy for my first beta.  I think beta 4 is a good one to start on – it’s not the “OMG last call!!1!” beta before a release and it’s not beta 1 where any fallout from our merge of mozilla-aurora -> mozilla-beta shake loose. Having done a beta release now,  I have a much more complete mental map of how the 6 week release cycle plays out for Release Management:

Multiply by the above by 6, sprinkle extra bug & meeting communication cycles to weeks 1 and 6, throw in twelve channel meetings, approx 30 more iterations of various queries triage to keep our tracking lists up to date and to know what’s really needing attention vs. what’s taking care of itself.

A ton of email/irc/automated notifications all with the goal of keeping tracked bugs moving forward and you’ve got your 6 week result: A fabulous new Firefox release.

Thanks for reading, more about automatic emails & wiki updates soon.

Trying to Resist

Table with trays of cookies and a large chocolate cake on it.

Today at Confident Coding (women learning JavaScript) I am having to work really hard to stay true to my SuperBetter Challenge to only eat sugar on Sundays.  Tomorrow seems really far away when I’m faced with trays of chocolate chip cookies and a large chocolate cake.  This is practically torture.

Except that it’s not.  It’s the privilege of being in the San Francisco tech community where weekend events come with free food, wi-fi, and great opportunities to learn and network – and there happen to be free cookies a lot of the time. This is one of the ways I try to stick to my self-prescribed challenge to only consume sugar on Sundays.

Distract. Delay. Drink Water.

The D’s above were in some tips for quitting smoking and let me tell you, they work now too.  I walk away from the tray of cookies.  I tell myself that I get to have whatever I want tomorrow, and I have a drink of water.  I’ll get through this day. It’s not the last day there will ever be cookies on this planet.  Usually avoiding something for 10 minutes is enough to get a good few hours free of temptation.  I’m almost there.

SuperBetter: Travel and keeping up with my challenge

This is the first in what I hope will be several blog posts about my SuperBetter challenge, to cut sugar out for 30 days (month of March) and then to switch to only having sugar on Sundays for the next two months (at least).

Most of my sugar-free March went really smoothly.  I have gotten a lot of practice at doing my ’30 days without sugar’ exercise so I have developed plenty of coping mechanisms.  This time around I hardly needed them.  I mostly got through with sticking to mealtimes, being vigilant about preparing ahead for meals, and drinking lots of water.  I think that this is because since my last attempt, I have actually reduced the amount of sugar I keep around me significantly.  However, there’s a big glaring spot in my life where sugar is ALWAYS present – at the office.  Our office has a wall-o-snacks for the taking (this is some Silicon Valley thing I have never experienced before).  I’d wager at least 60% of the snacks are high in sugar, another 20% medium sweet and then there’s a handful of savory things like pretzels, cheese sticks, and V8 — that’s my triad of workplace snack right there 🙂

The snacks aside, no-sugar March was cruising along and then Jenny and I went to Mexico for her spring break.  We went to Tulum, which is down at the bottom of the Carribean side of Mexico, a place of Mayan ruins and lots of snorkeling.  Mexico (the parts I’ve been to anyway) is a great place to avoid sugar because they don’t seem to do much in the way of deserts.  Sure, if I wanted to I could have bought candy at the store before we headed to our out-of-the-way palapa on the beach but since I didn’t, there wasn’t any temptation at all.  When you have a meal there it’s just the meal – no desert is offered.

The first four nights of the trip were excellent and full of rest and adventure in equal amounts.  I think I really pushed my record for how much time I spent reading in various hammocks.  On the fifth night though, I woke up to an unpleasant illness that wiped me out and left me hollow and dehydrated the next day.  Unable to eat (or really want to try eating) any more of the food provided at our resort, I really had no choice but to have a bit of Fanta orange soda so that I’d at least get a little energy.  This was a bit of a bummer to me because not drinking soda is something I’ve really conquered in my life.  I’m not going to be too hard on myself though, I was sick and in a strange land.  If I could have been at home I could have made myself dry toast that wasn’t WonderBread or I could have had some chicken broth for energy instead of a soda.  The next couple of days were a little bit loose with sugar too because I like to be nice to myself when I’m sick so when we went to the Mayan ruins the next day and the parking lot craziness included a Dairy Queen…well, I’m not the kind of person who easily ignores ice cream 🙂

In the end, I made it to March 29th without having sugar and then when we got home I re-committed to my epic win where I now only have sugar on Sundays.  It’s Wednesday now and I’ve got a Canadian chocolate bar in the cupboard waiting for me on Sunday.

If anyone is interested, here are a couple of my tips for traveling when I’m trying to work on my eating:

  • Bring snacks you like and can eat.  I bring dried fruits, jerky, and if I’m eating sugar I bring Clif bars as a breakfast option in case there’s nothing good where I’m staying.  They are also useful if I’ll be in hotel with a gym so I can eat something right away after working out and avoid impulse purchases of breakfast pastries.
  • Have a reusable water bottle with you. Fill & drink it empty often, especially on the plane. First of all, it keeps you hydrated (and flying is super dry) but also it helps you feel full and less likely to impulse-shop in the airport gift shop or duty free both of which taunt you with massive amounts of chocolate and candy.
  • Buy a salad (or a sandwich if no salads are appealing) in the airport to take on the plane. Most of the airline food will have sugar in it or sugary parts to the snacks included.  It’s incredibly hard to resist eating while bored/full on a plane because it’s already such an altered state and planes don’t really sell salad.

That’s  all for this post, thanks for reading.