Release Management/Merge Days/04-24-2012

From MozillaWiki
Jump to: navigation, search

Contents

Preparation for Merge

Get all of the Repos

$ mdkir ~/Mozilla/
$ cd ~/Mozilla/
$ hg clone http://hg.mozilla.org/mozilla-central/ mozilla-central
$ hg clone http://hg.mozilla.org/releases/mozilla-aurora/ mozilla-aurora
$ hg clone http://hg.mozilla.org/releases/mozilla-beta/ mozilla-beta

Set each Repo up for Pushing

See https://developer.mozilla.org/en/Mercurial_FAQ#Required_configuration

Set up HG Extensions

Edit ~/.hgrc to include

[extensions]
transplant=
mq=
rebase=
graphlog=

Close the Trees

DO NOT CLOSE mozilla-central FOR MERGING

mozilla-central tag/bump from 14 to 15

Preparation and Tagging

  • Send note to dev-planning and #developers announcing that the merge is about to start
$ cd ~/Mozilla/mozilla-central
$ hg pull
$ hg up
$ hg tag FIREFOX_AURORA_14_BASE

Version Bumps

browser/config/version.txt

-14.0a1
+15.0a1

config/milestone.txt

-14.0a1
+15.0a1

js/src/config/milestone.txt

-14.0a1
+15.0a1

mobile/android/confvars.sh

-MOZ_APP_VERSION=14.0a1
+MOZ_APP_VERSION=15.0a1

mobile/xul/confvars.sh

-MOZ_APP_VERSION=14.0a1
+MOZ_APP_VERSION=15.0a1

b2g/confvars.sh

-MOZ_APP_VERSION=14.0a1
+MOZ_APP_VERSION=15.0a1

xpcom/components/Module.h

-  static const unsigned int kVersion = 14;
+  static const unsigned int kVersion = 15;

Commit Your Changes

# check the diffs to ensure nothing additional has been changed
$ hg diff 
$ hg commit -m "Merging in version bump NO BUG"
$ hg out
$ hg push

or, if somebody lands a change on top of m-c in the meantime,

$ hg pull
$ hg merge
# check the diffs to ensure nothing additional has been changed
$ hg diff 
$ hg commit -m "Merging in version bump NO BUG"
$ hg out
$ hg push
  • Announce to dev-planning and #developers that the m-c bump is completed

mozilla-aurora 13 to mozilla-beta uplift

Tag mozilla-aurora

cd ~/Mozilla/mozilla-aurora
hg tag -m "Tagging for mozilla-aurora->mozilla-beta uplift CLOSED TREE" FIREFOX_BETA_13_BASE
hg out
# review
hg push

Tagging and closing old beta

$ cd ~/mozilla/mozilla-beta
$ hg tag -m "Tagging end of BETA12 CLOSED TREE" FIREFOX_BETA_12_END
$ hg commit --close-branch -m 'closing old head CLOSED TREE'
$ hg out
$ hg push

Pull from Aurora into Beta

$ hg pull -u -r FIREFOX_BETA_13_BASE http://hg.mozilla.org/releases/mozilla-aurora

Version Bumps

browser/config/version.txt

-13.0a2
+13.0

config/milestone.txt

-13.0a2
+13.0

js/src/config/milestone.txt

-13.0a2
+13.0

mobile/android/confvars.sh

# DO NOT blindly s/a2// as it may affect other lines
-MOZ_APP_VERSION=13.0a2
+MOZ_APP_VERSION=13.0

mobile/xul/confvars.sh

# DO NOT blindly s/a2// as it may affect other lines
-MOZ_APP_VERSION=13.0a2
+MOZ_APP_VERSION=13.0

Commit Version Bumps

# check the diffs to ensure nothing additional has been changed
$ hg diff 
$ hg commit -m "Merging in version bump NO BUG CLOSED TREE"
$ hg out

Branding Changes

browser/confvars.sh

-MOZ_BRANDING_DIRECTORY=browser/branding/aurora
+MOZ_BRANDING_DIRECTORY=browser/branding/nightly

-ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora
+ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release

-MAR_CHANNEL_ID=firefox-mozilla-aurora
+MAR_CHANNEL_ID=firefox-mozilla-beta

mobile/android/config/mozconfigs/android/debug

-ac_add_options --with-branding=mobile/android/branding/aurora
+ac_add_options --with-branding=mobile/android/branding/beta

mobile/android/config/mozconfigs/android/l10n-nightly

-ac_add_options --with-branding=mobile/android/branding/aurora
+ac_add_options --with-branding=mobile/android/branding/beta

mobile/android/config/mozconfigs/android/nightly

-ac_add_options --with-branding=mobile/android/branding/aurora
+ac_add_options --with-branding=mobile/android/branding/beta

mobile/xul/config/mozconfigs/android/debug

-ac_add_options --with-branding=mobile/xul/branding/aurora
+ac_add_options --with-branding=mobile/xul/branding/beta

mobile/xul/config/mozconfigs/android/nightly

-# Nightlies only since this has a cost in performance
-ac_add_options --enable-js-diagnostics

-ac_add_options --enable-application=mobile
+ac_add_options --enable-application=mobile/xul

-ac_add_options --with-branding=mobile/xul/branding/aurora
+ac_add_options --with-branding=mobile/xul/branding/beta

Commit branding changes

$ hg commit -m "Merging in branding changes NO BUG CLOSED TREE"
$ hg out

L10n data changes

  • confirm with l10n-drivers whether the uplift of locale files will need to be reverted or not (in order to not pull up locales which are not ready for beta)

Example for Aurora 12 -> Beta 13:

  • MOBILE: revert to beta locales from beta12
  • DESKTOP: files on mozilla-aurora are in expected state for beta:
    • upgrade shipped-locales will occur as part of uplift
    • do not upgrade all-locales
hg revert -r FIREFOX_BETA_12_END browser/locales/all-locales
hg revert -r FIREFOX_BETA_12_END mobile/android/locales/all-locales

Commit l10n changes

$ hg commit -m "Merging in l10n changes NO BUG CLOSED TREE"
$ hg out

Analyzing for backouts

Use this report to find all approvals for Aurora/Beta over the past cycle, then plop that buglist into a query like this to find a shortened list of things we may need to take on the next Aurora/Beta version

For Beta 13,

  • safe browsing
  • 733614 – CSS 'height' property on a multi-column block is not respected
  • 744727 – firefox crash on mouse move
  • 734019 – The big picture hangs , and finally Browser crashes with null signature

Note, no backouts actually performed here - the devs involved are going to do so

Finishing up

  • Use the clobberer to clobber all beta builds and then...
# ping Standard8 in #r-d to warn about push
hg push -f

mozilla-central 14 to mozilla-aurora uplift

Tagging and closing old aurora

$ cd ~/mozilla/mozilla-aurora
$ hg tag -m "Tagging for mozilla-central->mozilla-aurora uplift CLOSED TREE" FIREFOX_AURORA_13_END
$ hg commit --close-branch -m 'closing old head CLOSED TREE'
$ hg out
$ hg push

Pull from m-c into Aurora

$ hg pull -u -r FIREFOX_AURORA_14_BASE http://hg.mozilla.org/mozilla-central

Version Bumps

browser/config/version.txt

-14.0a1
+14.0a2

config/milestone.txt

-14.0a1
+14.0a2

js/src/config/milestone.txt

-14.0a1
+14.0a2

mobile/android/confvars.sh

# DO NOT blindly s/a1/a2 - make sure only this line
-MOZ_APP_VERSION=14.0a1
+MOZ_APP_VERSION=14.0a2

mobile/xul/confvars.sh

# DO NOT blindly s/a1/a2 - make sure only this line
-MOZ_APP_VERSION=14.0a1
+MOZ_APP_VERSION=14.0a2

Commit Version Bumps

# check the diffs to ensure nothing additional has been changed
$ hg diff 
$ hg commit -m "Merging in version bump NO BUG CLOSED TREE"
$ hg out

Branding Changes

browser/confvars.sh

-MOZ_BRANDING_DIRECTORY=browser/branding/nightly
+MOZ_BRANDING_DIRECTORY=browser/branding/aurora

-ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-central
+ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-aurora

-MAR_CHANNEL_ID=firefox-mozilla-central
+MAR_CHANNEL_ID=firefox-mozilla-aurora

mobile/android/config/mozconfigs/android/debug

-ac_add_options --with-branding=mobile/android/branding/nightly
+ac_add_options --with-branding=mobile/android/branding/aurora

mobile/android/config/mozconfigs/android/l10n-nightly

-ac_add_options --with-l10n-base=../../l10n-central
+ac_add_options --with-l10n-base=..

-ac_add_options --with-branding=mobile/android/branding/nightly
+ac_add_options --with-branding=mobile/android/branding/aurora

mobile/android/config/mozconfigs/android/nightly

-ac_add_options --with-branding=mobile/android/branding/nightly
+ac_add_options --with-branding=mobile/android/branding/aurora

mobile/xul/config/mozconfigs/android/debug

-ac_add_options --with-branding=mobile/xul/branding/nightly
+ac_add_options --with-branding=mobile/xul/branding/aurora

mobile/xul/config/mozconfigs/android/nightly

-ac_add_options --with-branding=mobile/xul/branding/nightly
+ac_add_options --with-branding=mobile/xul/branding/aurora

Commit branding changes

$ hg commit -m "Merging in branding changes NO BUG CLOSED TREE"
$ hg out

L10n data changes

  • confirm with l10n-drivers whether the uplift of locale files will need to be reverted or not (in order to not pull up locales which are not ready for beta)

Example for Mozilla-Central (13) -> Aurora (12):

  • MOBILE: no updated file changes desired (rollback needed)
  • DESKTOP: no updated file changes desired (rollback needed)
hg revert -r FIREFOX_AURORA_12_END browser/locales/*-locales
hg revert -r FIREFOX_AURORA_12_END mobile/android/locales/*-locales

Commit l10n changes

$ hg commit -m "Merging in l10n changes NO BUG CLOSED TREE"
$ hg out

Analyzing for backouts

Use this report to find all approvals for Aurora/Beta over the past cycle, then plop that buglist into a query like this to find a shortened list of things we may need to take on the next Aurora/Beta version

For Aurora 14,

  • make sure bug 746456 gets into Aurora once 14 is on Aurora (ie: approve it)
  • 736915 – Print Selection prints a blank page when the selection is inside a table in SeaMonkey2.8 & Firefox11 and later
  • 724978 – nsColumnSetFrame should be an absolute container

Note, the devs will backout, nothing happened here - just noting these for the record

Releng to move Aurora to 10.7 builders

When Fedora 14 is merged to mozilla-aurora, release engineering will need to land and reconfig for bug 744445. This will make mozilla-aurora start building for Mac on 10.7. NOTE: this will need to be done for all Fedora 14 merge days. bug 744450 tracks the ff14 beta actions and bug 744456 tracks ff14 release actions for this project. A section like this should be added to the next merge day documentation

Finishing up

  • Use the clobberer to clobber all aurora builds and then...
# ping Standard8 (or TB driver) in #r-d to warn about push
hg push -f

Completing the Merge

  • Email dev.planning and let them know the merge is complete
  • Notify #developers
  • re-open Aurora, Beta trees
  • Update the merge docs as needed to keep them up to date for next merge day
  • file a bug requesting the disabling of Aurora updates (eg: bug 700794) - until we have sign off from QA

Change Template Version Numbers

Now that everything has been bumped edit the following so our Channel Notes and other wiki pages have the correct info and queries now (increment by 1)