Release:Release Automation on Mercurial:Starting a Release

From MozillaWiki
Jump to navigation Jump to search

<< Documentation

After we get a "go to build" e-mail from Release Management there's some manual steps to be run to prepare for and start a release. This page describes them in detail.

L10N Changesets

Currently we have separate changesets files for Fennec and Firefox. Both are generated from the l10n dashboard
First log in to the dashboard with your LDAP and then follow the instructions below

Create milestones

Sometimes the milestones have not been created and we can do so:

  • load https://l10n.mozilla.org/shipping/milestones and sign-in
  • click on the link at the bottom of the page: "You may be able to create new milestones."
  • click the checkbox(es) for the product(s) you want to bump.
    • For betas, make sure the beta # in both fields matches the one you're doing (eg "Beta Build 4" == "Beta 4")
    • For final releases clear the first field, remove "_beta_b#" from the second field, and append ".0" (or .0.1).
  • hit "submit" and the milestones will be created.

Note: you cannot create release milestones for an older major version. For example, when 18.x is current, 17.x milestones cannot be created. This is especially relevant for Thunderbird's slower release cycle. In that case, use the existing changesets from the l10n-changesets_thunderbird-release file.

Ship the milestone

Note: when clicking "Ship It" you may be notified that there are pending sign-offs for one or more locales. It is OK to proceed for betas. For final releases we leave the decision with Release Management.

Fennec

  • Click the "ship" button to load up the milestone (eg: Fennec 16 Beta Build 3)
  • It will tell you if there are pending sign offs. Click "ship it" if you meet on of the two conditions
    • For betas, carry forward regardless if there are pending sign offs
    • For final releases, carry forward *only* if there are no pending sign offs. Ask RelMan if there are
  • You will land in a page like this e.g. (https://l10n.mozilla.org/shipping/about-milestone/fennec16_beta_b3)
  • Click "shipping tools" at the top
  • Platforms should read "android"; multi-locale should read "android-multilocale".
  • Click "Add" and check these values
    • repo: "releases/mozilla-beta" (you MUST use mozilla-beta, even for mozilla-release based releases)
    • branch: "default"
    • path: "mobile/android/locales/maemo-locales"
  • Click "l10n-changesets.json"
    • leave this page open in a tab - you'll need to copy and paste the contents into the Ship-It new release form (below)

Firefox or Thunderbird

  • Click "ship" to load up the milestone (eg: Firefox 16 Beta Build 3)
  • It will tell you if there are pending sign offs. Click "ship it" if you meet on of the two conditions
    • For betas, carry forward regardless if there are pending sign offs
    • For final releases, carry forward *only* if there are no pending sign offs. Ask RelMan if there are
  • This will take you to a page like https://l10n.mozilla.org/shipping/about-milestone/fx16_beta_b3
  • Click "shipping tools" at the top
  • Click "l10n-changesets"
    • leave this page open in a tab - you'll need to copy and paste the contents into the Ship-It new release form (below)

Submit to Ship It

Releases are initiated through the Ship It webapp. When you're ready to start a release, you can use the "Submit a new release" page to submit it. Once it's in the system you should find someone else to review it for you. They can see it and mark it as ready on the "View releases" page. If multiple releases are expected around the same time it's often best to wait until all are ready for review, so that they can be started at the same time.

Defaults

Unless otherwise stated by RelMan we stick to certain assumptions about releases:

  • Firefox betas need partial updates from the previous 2 betas
  • Firefox releases (that is, a release on the release channel) need partial updates from the 3 past versions with the most users. If you don't know how to get this information ask someone in RelEng or RelMan.
  • A "go" for Firefox implies a "go" for Fennec, too

Run Release Runner

After your release has been submitted and reviewed you need to run release runner, which will create the patches, run release sanity, reconfig, and start the release. Release runner runs in the background on buildbot-master36 and will e-mail release@mozilla.com upon failure. As it works through its operations it will update Ship It's list of releases with details and rough error messages.

If you hit any errors that you don't know how to debug on your own, ask someone for help.

If you have any failures after configs or tags have been pushed you won't be able to restart release runner without commenting out some sections of it. If you don't know how to do this, ask for help. Once bug 810393 is fixed, this will happen without manual intervention.